智能蛇学习记录

字符游戏——智能蛇


做完贪吃蛇之后,我们可以设计算法,通过算法捕捉和传递智能。设计出能自动跑着吃食物的智能蛇。

首先,用自顶向下、逐步加精的设计模式先给出整个程序的伪代码。

   输出字符矩阵
    WHILE not 游戏结束 DO
        wait(time)
        ch=whereGoNext(Hx,Hy,Fx,Fy)
        CASE ch DO
        ‘A’:左前进一步,break 
        ‘D’:右前进一步,break    
        ‘W’:上前进一步,break    
        ‘S’:下前进一步,break    
        END CASE
        输出字符矩阵
    END WHILE
    输出 Game Over!!! 

而关于智能蛇是怎么智能的,我们可以通过这个GIF来分析一下:
这里写图片描述

由这张图片我们可以看到,智能蛇的一种脑残工作原理即是:让自己一行一行或者一列一列扫过区间,这样不仅可以吃到食物还可以免于撞到自己。
具体的想法如下:

首先, 蛇头总是挨着蛇身走, 这样不仅使整个画面清晰, 而且为贪吃蛇节约可以行走的空间, 减少被自己的身子围起来而无法行走的空间。
其次,当蛇往当前移动方向的相反方向去吃食物时会在图像的边缘预留一行或一列给自己逃生,防止因逃出画面或者将自己困在两侧的身子中而牺牲。
然后,尽量为大块的空间流出至少两行或两列的进出口, 使得贪吃蛇可以进入其中吃东西或者放自己多余的身子。
当贪吃蛇为了吃到食物而没有贴着身子走的时候, 吃到食物后立即贴着身子走或者掉头。

这便是我的学习心得,感谢阅读。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值