做一个贪吃蛇 让它自动玩,怎么实现?

vincevincevincevince 2008-10-20 10:54:49
做一个贪吃蛇 让它自动玩(就是蛇可以自动去吃那个随机产生的蛋),怎么实现?
具体思路是怎么样的?有没有这样的源程序或发在这边。谢谢!!
...全文
514 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuyi8808 2008-10-24
  • 打赏
  • 举报
回复
如果场地为偶数行:

先运动到左上角,然后右走,到右边,转到下一行,左走,到左边差一格时,转到下一行,右走,。。。,直到最后一行,然后顺着最左边留出的空位回到左上角,周而复始。其中碰到豆子就自然吃掉。
  • 打赏
  • 举报
回复
有说有加分,一人加一点。
再见品月 2008-10-22
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 lude8880 的回复:]
那样这蛇还显得挺阴险
[/Quote]
搞笑。。
lude8880 2008-10-22
  • 打赏
  • 举报
回复
那样这蛇还显得挺阴险
lude8880 2008-10-22
  • 打赏
  • 举报
回复
把尾巴甩开就成了,每吃一个豆子沿着四个墙壁转一圈再吃下一个
wepwep 2008-10-22
  • 打赏
  • 举报
回复
这个题目就是要玩最短路径才好玩啊,不过要计算怎么才能不走进死路有点麻烦,特别是当蛇很长的时候。
lude8880 2008-10-22
  • 打赏
  • 举报
回复
大s还是小s?

qshzf 2008-10-22
  • 打赏
  • 举报
回复
走s形将屏幕全部经过一遍即可
破碎的脸 2008-10-22
  • 打赏
  • 举报
回复
10楼的想法真好。。。

那么就没趣味性了,蛇不够聪明。。。。第二,当尾巴太长的时候,怎么躲开自己的尾巴?

做程序还是细致点好。。。。
lude8880 2008-10-20
  • 打赏
  • 举报
回复
笨死了我,让蛇先去左上角然后一行一行的扫不就完了!!!!!!!!!!!!!!
cwblaze 2008-10-20
  • 打赏
  • 举报
回复
去GOOGLE一下A*算法.

这个就是一个寻路问题嘛.
  • 打赏
  • 举报
回复
大家有没有参考代码或例子?
破碎的脸 2008-10-20
  • 打赏
  • 举报
回复
5楼虽然没有太多建设性的提议,但是这身衣服很配这话题,矩阵矩阵!!!!!!!纯属玩笑。
破碎的脸 2008-10-20
  • 打赏
  • 举报
回复
地图是一张N*N的格子。随机产生的任何蛋都必须在这些格子之内。那么蛇的位置也在这个范围内移动,障碍处于格子的“外围”以及蛇的“尾巴”,外围比较好处理,但是“尾巴”就必须记录下来。

“尾巴”的记录方法应该是吃过的蛋的数量以及走过的路线,这样就型成了一个动态的先进先出数组,用数组来记录下格子的“标号”,那么蛇的头不要去触碰有标号的点就可以。

具体做法是,因为一次只会产生一个蛋,将产生蛋的格子“标记”,这样就解释了5楼所说的最近的“豆子”的问题,而蛇只会直线移动,如果是已经标记为“尾巴”的格子蛇将想办法绕开,比如在下面,那么,就计算出,向左或向右,可以让“尾巴”消失。这个似乎比较麻烦,因为计算的方法中还要考虑地图的边界。不过也还算好写,细致一点就行。

也就是说,要么是X-1要么是Y-1或者X+1以及Y+1,不可以让X和Y同时产生变化,而边界和尾巴的坐标也是以X和Y进行标记的,所以,在产生移动的时候,先进行坐标的运算,在不碰死蛇的前题下,找出最接近“豆子”X和Y的坐标的路线。。。呼。。。。这个还真麻烦。。。。

运算量相当大啊,楼主做这个干嘛?
lude8880 2008-10-20
  • 打赏
  • 举报
回复
分两步,
第一步,选择最近的豆子
第二部去吃豆子
tete 2008-10-20
  • 打赏
  • 举报
回复
很有想法的人
wheeler 2008-10-20
  • 打赏
  • 举报
回复
路径算法
再见品月 2008-10-20
  • 打赏
  • 举报
回复
这个比较好。。。有点像那个坦克。。。的编程游戏
wuyi8808 2008-10-20
  • 打赏
  • 举报
回复
搜索目标、前进、避开障碍物。
fsy412 2008-10-20
  • 打赏
  • 举报
回复
FSM,Finite State Fachine

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧