C-贪吃蛇的食物
我做了个贪吃蛇程序,里边有food 和snake。
每次snake吃掉food之后,就需要重新生成一个。我是用srand和rand来生成的,
生成之后判断一下有没有跟snake重合,如果重合,则重新生成一个。
现在问题来了,有的时候这个过程会非常慢,我觉得是rand的时候有一定几率某几次总是生成在某个数附近,造成一直跟snake重合。
我想问,是我用rand和srand用的不对吗,还是有更好的方法?
求大神指教
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果你的随机种子设置没有问题的话, 那么我觉得是随机函数出问题的概率极小... 换句话说, 就算不设置任何种子,我觉得随机函数的随机性也很难成为你说的那个系统瓶颈问题.还是好好看看是不是有其他bug了.
如果你对随机函数不放心,自己写也可以,最简单的方式,取当前毫秒或者纳秒时间,做些简单的求余,或者其他四则混合运算.
你既然知道当前哪些位置被占用了. 你为什么不把那些不可用的位置减去之后,再从剩下的地方随机选择地方呢?