令人窒息的智(zhi)能(zhang)蛇

自上次打出贪吃蛇后,老师又要求我们让电脑自动控制蛇,称之为智(zhi)能(zhang)蛇。对于我这样的初学者,即使是上网借鉴(copy)了好多算法,依然只看得懂最简单的那种。

下面是这种算法的伪代码:

// Hx,Hy: 头的位置

// Fx,Fy:食物的位置

function whereGoNext(Hx,Hy,Fx,Fy) {

// 用数组movable[3]={“a”,”d”,”w”,”s”} 记录可走的方向

// 用数组distance[3]={0,0,0,0} 记录离食物的距离

// 分别计算蛇头周边四个位置到食物的距离。H头的位置,F食物位置

// 例如:假设输入”a” 则distance[0] = |Fx – (Hx-1)| + |Fy – Hy| //

如果 Hx-1,Hy 位置不是Blank,则 distance[0] = 9999

// 选择distance中存最小距离的下标p,注意最小距离不能是9999

// 返回 movable[p] }

这个伪代码其实十分的简单(智障),因为当蛇变长以后就很容易将自己卡死,但对于我这种初学者来说还算不错了。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值