我有问题理解为什么必须像这样计算食物位置:
foodSite.x = (rand()%23*2+1)+2;
foodSite.y = rand()%17+2;
游戏中的边界大小为50 * 19.
我尝试将代码更改为rand()%49 + 1和rand()%18 + 1,但之后游戏将无效。食物不会被蛇吃掉。它只是保持不变。
答案 0 :(得分:1)
鉴于
foodSite.x = (rand()%23*2+1)+2;
foodSite.y = rand()%17+2;
x
和y
的域名分别为[3, 47]
和[2, 18]
。
相反,给定
foodSite.x = rand()%49+1;
foodSite.y = rand()%18+1;
x
和y
的域名分别为[1, 49]
和[1, 18]
。
因此,这两个表达式与等效域不对应。
至于游戏无法正常工作的原因,很可能食物不应放在某些地方,这只是硬编码< / em>以某种方式。