C-贪吃蛇的食物

发布于 2017-03-07 15:47:25 字数 239 浏览 1492 评论 1

我做了个贪吃蛇程序,里边有food 和snake。
每次snake吃掉food之后,就需要重新生成一个。我是用srand和rand来生成的,
生成之后判断一下有没有跟snake重合,如果重合,则重新生成一个。
现在问题来了,有的时候这个过程会非常慢,我觉得是rand的时候有一定几率某几次总是生成在某个数附近,造成一直跟snake重合。
我想问,是我用rand和srand用的不对吗,还是有更好的方法?
求大神指教

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

泛泛之交 2017-07-20 05:56:32

如果你的随机种子设置没有问题的话, 那么我觉得是随机函数出问题的概率极小... 换句话说, 就算不设置任何种子,我觉得随机函数的随机性也很难成为你说的那个系统瓶颈问题.还是好好看看是不是有其他bug了.
如果你对随机函数不放心,自己写也可以,最简单的方式,取当前毫秒或者纳秒时间,做些简单的求余,或者其他四则混合运算.
你既然知道当前哪些位置被占用了. 你为什么不把那些不可用的位置减去之后,再从剩下的地方随机选择地方呢?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文