我试图制作这个基本的小游戏,其中屏幕中间有一个平台,当你触摸它时,就会像游戏蛇中的食物一样随机地围绕该区域产生圆圈。我唯一的问题是,有时圆圈会在平台中间产生,使其无法触摸。我使用随机函数将x和y值放在游戏区域中,因此每次产生它时都会给出一个随机位置。有没有办法确保它不会出现在中间的特定平台上?我在p5js的基本JavaScript中执行此操作
function coin () {
this.x = random (16, width-16);
this.y = random (16, height-91);
this.show = function() {
ellipse (this.x, this.y, 32, 32);
}
}
答案 0 :(得分:1)
想想你将如何做到这一点。尝试写出一组步骤,用英语(不是代码),当你从两个范围中得到一个随机数时,你会遵循这些步骤。
我如何做到这一点:
random()
函数生成该范围内的数字。例如,假设我想从1-30中选择一个数字,但我不希望11-19成为选项。我就是这样做的:
var number;
if(random() < .5){
number = random(1, 10);
}
else{
number = random(20, 30);
}
if(random() < .5)
行正在翻转硬币,因此您可以在50%的时间内选择每个范围。如果范围不相等,您可能需要调整此百分比。
你也可以提出一个随机数,直到它超出你想要的范围。像这样:
var number = random(1, 30);
while(number >= 11 && number <=19){
number = random(1, 30);
}