2015-10-12 161 views
2

我会尽力解释我所需要的。C++坐标生成

我用gui制作了一个蛇类游戏,我需要水果来随机产卵。我可以让它在游戏中的任何随机坐标上产生。但这并不好,因为蛇只能在10的倍数的坐标上传播。这是因为当你点击任何一个箭头键时,它会不断地在前一个坐标上加10。基本上,我需要不仅随机生成边界,而且还要在10的倍数的坐标内,以便蛇实际上可以与它碰撞,而不管它在地图上的什么位置。

地图的大小:

地图的
  • 宽度=地图800
  • 高度= 500

我试图用一个像这样循环(对于x坐标):

for(int x = 0; x <= 800; x += 10) 

和这个为y坐标:

for(int y = 0; y <= 500; y += 10) 

但我没有得到任何工作。再一次,我需要生成0到800之间的随机x坐标(0,10,20,30等)和0到500之间的随机y坐标(0,10,20等)。如果你了解我的情况,因为我不确定我解释得如何,请帮忙。

谢谢!

回答

3

生成0-80之间的数字,0-50并乘以10的每个坐标。

3

除以10维度,产生在该范围内的随机数,然后乘以10.

例如,你的x坐标可以通过创建0和80之间的值,然后由结果乘以来产生10.

2

您的随机数发生器

int iRandX = (rand() % 80) * 10; 
int iRandY = (rand() % 50) * 10;