智能蛇——自己找食物吃的贪吃蛇

上一篇博客中我们简单实现了如何用C语言编写一个简易的贪吃蛇,具体实现代码可以见用C语言设计贪吃蛇 ,并提到了可以使贪吃蛇具有“智能”,使其能够自动寻找食物。下面我们来看看如何实现这一功能


设计思路如下:

定义一个函数,用于判断蛇的下一步该往哪个方向走

函数伪代码如下:

function whereGoNext(Hx,Hy,Fx,Fy)  // Hx,Hy: 头的位置,Fx,Fy:食物的位置
{
  用数组movable[4]={“a”,”d”,”w”,”s”} 记录可走的方向
  用数组distance[4]={0,0,0,0} 记录离食物的距离
  分别计算蛇头周边四个位置到食物的距离。
    例如:distance[0] = |Fx – (Hx-1)| + |Fy – Hy|
    如果 Hx-1,Hy 位置不是Blank,则 distance[0] = 9999
  选择distance中存最小距离的下标p,注意最小距离不能是9999
  返回 movable[p]
}


具体代码如下


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值