我正在尝试创建一个触发框,导致程序在触发时重新启动。
以下是我正在使用的代码:
if(snakey.position.x < mos.position.x + 20 && snakey.position.y > mos.position.y - 20 || snakey.position.x > mos.position.x - 20 && snakey.position.y < mos.position.y + 20){
Program.restart();
}
问题是,当输入命中框时,不是触发程序重启,而是似乎随机触发或至少非常不稳定地触发。我已经多次检查了这个并没有收到任何错误消息,所以语法很好。
我和一位朋友也都多次扫描逻辑,以确保实际满足条件。我们发现没有问题,但它仍然没有在正确的时间激活程序重启,甚至在一致的时间我将链接完整的程序如果有人可以告诉我为什么它表现得如此奇怪我会很感激。
答案 0 :(得分:0)
您需要正确地将条件括在括号中
if((snakey.position.x < mos.position.x + 20 && snakey.position.y > mos.position.y - 20) || (snakey.position.x > mos.position.x - 20 && snakey.position.y < mos.position.y + 20))