贪吃蛇的食物


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

c

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

Your Answer