Processing 球应该从球拍上弹起,比赛结束后应该重新开始

Processing 球应该从球拍上弹起,比赛结束后应该重新开始,processing,Processing,这是我的全部代码,它没有做什么,但肯定应该做的是,首先在与挡板碰撞时反弹,然后如果它没有这样做,那么一旦游戏进入gameover模式,按下一个键,它应该重新启动游戏。现在我已经尝试了好几种方法,但似乎都不管用 有人能找到一个解决办法,试着解释一下我做错了什么吗 //球的变量 int ball_宽度=15,ball_高度=15; int ballX=宽度/2,ballY=高度/2; // //桨的变量 内部桨叶宽度=20,桨叶高度=150; 内桨1=60,桨2; // //方向变量 int方向x=

这是我的全部代码,它没有做什么,但肯定应该做的是,首先在与挡板碰撞时反弹,然后如果它没有这样做,那么一旦游戏进入gameover模式,按下一个键,它应该重新启动游戏。现在我已经尝试了好几种方法,但似乎都不管用

有人能找到一个解决办法,试着解释一下我做错了什么吗

//球的变量
int ball_宽度=15,ball_高度=15;
int ballX=宽度/2,ballY=高度/2;
//
//桨的变量
内部桨叶宽度=20,桨叶高度=150;
内桨1=60,桨2;
//
//方向变量
int方向x=15,方向y=15;
//
//分数的变量
积分计数器=0;
//
//游戏状态
布尔播放=false,gameover=false,finalscore=false,score=true;
无效设置(){
大小(1900,1300);//野战游戏将是1900x1300像素大
矩形模式(中心);
桨叶2=宽度-60;
}
无效提款(){
背景(0);//黑色背景
玩();
gameover();
finalscore();
}
// 
无效播放(){
如果(按键){
玩=真;
}
如果(!playing){//playing=false
填充(255);
文本大小(80);
文本对齐(中心);
文本(“按空格播放”,宽度/2,高度/4);
填充(255);
椭圆(宽度/2,高度/2,球的宽度,球的高度);//这是球的起点
填充(255、10、20);
rect(桨叶1,(高度/2),桨叶宽度,桨叶高度);//红色乒乓球
填充(60255,0);
rect(桨叶2,(高度/2),桨叶宽度,桨叶高度);//绿色乒乓球
}
如果(播放){//playing=true
分数();
ballX=ballX+方向x;
巴利=巴利+方向;
填充(255);
椭圆(圆球X、圆球Y、圆球宽度、圆球高度);
填充(255、10、20);
rect(桨1,鼠标,桨宽,桨高);//红色乒乓球
填充(60255,0);
rect(桨2,鼠标,桨宽,桨高);//绿色乒乓球
如果(球>高度){
方向Y=-方向Y;
}//如果球到达下壁,它会弹开
如果(ballY<0){
方向Y=-方向Y;
}//如果球到达上壁,它会弹开
如果(ballX>width | | ballX<0){
gameover=true;}
}

如果(ballX==palle1&&ballY不确定这是否是问题所在,但是

if (keyPressed) { 
   playing = playing;
}

看起来不是很有用。您同时有一个名为
playing
的函数和一个变量。重用标识符通常会造成混乱。

之所以不重置,是因为您从未更新ballX o gameover变量。每次按一个键,您都会陷入这种情况

if ( ballX > width || ballX < 0 ) {
  gameover = true; 
}

对于您的第一个问题的球不反弹的桨,看看这些线:

if (ballX == paddle1 && ballY <= paddle_height) { 
     directionX = -directionX;
     directionY = -directionY;
}
if (ballX == paddle2 && ballY <= paddle_height) {
     directionX = -directionX;
     directionY = -directionY;
}

if(ballX==palle1&&ballY这是什么语言?你的代码很难读懂…@jens这是程序处理-所以是java。但是我们还是要考虑到它正在处理about@quemeful有什么建议吗?@Jens查看标签。这是一个问题。
按键的
变量是一个处理变量,不需要修改定义或初始化。事实上,它不应该由程序员定义或初始化。@Kevin Workman我真的从来没有做过任何处理编程,但这让我下载和IDE并观看了一些视频。处理真的很有趣。如果你有任何问题,请告诉我!我知道我应该从其他东西开始,但这是一个任务我必须上交,我知道当球到达桨的y轴时如何使球反弹,但我没有想到的是如何将球限制到低于桨的高度。你能帮我吗?我很绝望。我需要这个项目在明天之前交付,我已经为此工作了两周了。这是唯一剩下的,其他问题都解决了@KevinWorkman@Abigail这看起来似乎不太合乎逻辑,但如果你从简单的事情开始,你会更快地完成任务。试图把你不太懂的东西塞进代码不会让你走得太远。我强烈建议你从小的事情开始,然后用还有一个更具体的问题。不过这取决于你。
if (ballX == paddle1 && ballY <= paddle_height) { 
     directionX = -directionX;
     directionY = -directionY;
}
if (ballX == paddle2 && ballY <= paddle_height) {
     directionX = -directionX;
     directionY = -directionY;
}