-------------------------------------------------------------------------------------------------------------------------
◎計算分數&邊界反彈&皮卡丘不超過欄杆
程式碼:
PImage imgBall,imgP1,imgP2; void setup(){ size(800,600); textSize(50); imgBall=loadImage("Ball.png"); imgP1=loadImage("P1.png"); imgP2=loadImage("P2.png"); imageMode(CENTER); } float ballX=120,ballY=150,ballVX=0,ballVY=0; float p1X=100,p1Y=430,p1VX=0,p1VY=0; float p2X=700,p2Y=430,p2VX=0,p2VY=0; Boolean bGG=false; int p1S=0,p2S=0; ///Score void draw(){ background(#BFEAFF); ///sky noStroke();fill(#D1C0A6);rect(0,500,800,100); ///floor fill(#A6ACAF);rect(400,320,10,240); ///cylider image(imgP1,p1X,p1Y,200,200); image(imgP2,p2X,p2Y,200,200); image(imgBall,ballX,ballY,80,80); fill(#484646); text(p1S,100,70); text(p2S,700,70); if(ballX<=360 && ballY>=500-40){ bGG=true; ///if ball touch the floor : GameOver if(bGG) { p2S++; ballX=680;ballY=150; p1X=100;p1Y=450; p2X=700;p2Y=450; ballVX=0;ballVY=0; p1VX=0;p1VY=0; p2VX=0;p2VY=0; bGG=false; } } if(ballX>=450 && ballY>=500-40){ bGG=true; ///if ball touch the floor : GameOver if(bGG) { p1S++; ballX=120;ballY=150; p1X=100;p1Y=450; p2X=700;p2Y=450; ballVX=0;ballVY=0; p1VX=0;p1VY=0; p2VX=0;p2VY=0; bGG=false; } } if(bGG)return; ballX += ballVX; ballY += ballVY; ballVY += 0.98; p1X+=p1VX; if(p1X<80) p1X=80; if(p1X>300) p1X=300; p1Y += p1VY; p1VY+=0.98; p2X+=p2VX; if(p2X<500) p2X=500; if(p2X>720) p2X=720; p2Y += p2VY; p2VY+=0.98; if(ballX<50){ballX=50;ballVX=-ballVX;} if(ballX>800-50){ballX=800-50;ballVX=-ballVX;} if(ballY<50){ballY=50;ballVY=-ballVY;} if(ballY>800-50){ballY=800-50;ballVY=-ballVY;} if(p1Y>=500-50) {p1VY=0; p1Y=500-50;} if(p2Y>=500-50) {p2VY=0; p2Y=500-50;} if(dist(p1X,p1Y,ballX,ballY)<=80)ballVY=-ballVY; if(dist(p2X,p2Y,ballX,ballY)<=80)ballVY=-ballVY; if(dist(p1X,p1Y,ballX,ballY)<=80) ballVX=(80-ballVY)/5.0; if(dist(p2X,p2Y,ballX,ballY)<=80) ballVX=-(80-ballVY)/5.0; } void keyPressed(){ if(key=='a') p1VX=-3; if(key=='s') p1VY=0; if(key=='d') p1VX=3; if(key=='w') p1VY=-20; if(keyCode==LEFT) p2VX=-3; if(keyCode==DOWN) p2VY=0; if(keyCode==RIGHT) p2VX=3; if(keyCode==UP) p2VY=-20; } void keyReleased(){ if(key=='a') p1VX=0; if(key=='s') p1VY=0; if(key=='d') p1VX=0; if(key=='w') p1VY=0; if(keyCode==LEFT) p2VX=0; if(keyCode==DOWN) p2VY=0; if(keyCode==RIGHT) p2VX=0; if(keyCode==UP) p2VY=0; }
沒有留言:
張貼留言