我如何做一个随机生成一个特定区域

问题描述:

我试图让这个基本的小游戏那里是在屏幕的中间平台,还有一些随机产卵周围地区的圈子,当你触摸它只是外面就像游戏中的食物一样。我唯一的问题是,有时候这个圈子会在中间的平台里产卵,从而无法触摸。我使用随机函数将x和y值放在播放区域中,因此每次它产生一个随机位置。有什么方法可以确保它不会出现在中间的特定平台上?我的基本的JavaScript在p5js我如何做一个随机生成一个特定区域

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

请把你的代码放在帖子里面,让别人知道如何引导你。 – UmarZaii

想想你会怎么做这在你的脑袋做这个。尝试写出一系列英文(不是代码)的步骤,当你从两个范围中得到一个随机数时,你会遵循这些步骤。

如何我会做到这一点是这样的:

  • 抛硬币来决定的数量应该来自哪一方。
  • 现在侧被选择,然后使用普通的旧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); 
} 
+0

那么,我会如何将这2个数字设置为x和y值并将这些数字设置在椭圆内?我试图保持的范围是,对于x,在宽度/ 4 + 16(椭圆的半径)和466之间,对于y,它在266和234之间。我觉得如果我这样做,它不会无法在宽度/ 4和466之间产卵,我试着做一个if语句,如果x在y之间,并且在y之间,我试图避开它,它会创建一个新的一个 – Stacktempacc

+0

@Stacktempacc真正的教训是,你需要[打破你的问题](http://happycoding.io/tutorials/how-to/program),并考虑如何在你的头脑中做这件事,考虑用代码来实现它。 –

+0

Nvm我现在得到了ty – Stacktempacc