智能蛇初试

简易的智能蛇

在完成了贪吃蛇的程序后,便想能不能设计一个程序来‘智能’的操控贪吃蛇,以求获取一个前所未有的最高分。
这里写图片描述
首先,智能蛇得会‘自己’动,这或许只用一个循环就行了,但是执行循环的时间太短,我们得用sleep()函数来设置停顿的时间,来使其看起来像是‘自动’的。

其次,写一个函数,来判断蛇可以向那几个方向移动,并且找出从那一个方向移动的距离最短,向那个方向移动。
这里写图片描述
这里写图片描述
最后,只要将printf(“\033[2J”)放在最后进行清屏,就可以使智能蛇看起来真正像是‘自己’动了。
这样,一个简单的智能蛇就完成了,但是这程序不够完整,智能蛇极易死,蛇身大多只能增长到20,蛇就死亡了。

这里写图片描述

一个长度为5的障碍物,若放在中间,会使得蛇会极易被困死,最后的蛇身长度大幅度减小,但若放在地图边缘,与墙紧密相接,那就影响不太大。

优化后的智能蛇

若要提高蛇的生存率,则要进行模拟,模拟蛇按照原先的路径吃掉食物后情况,判断是否会把自己围死,倘若是这样,则放弃原路,选取一条新路行动,以求获取高分数。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值