字符游戏——智能蛇

首先本次实验需要在Linux环境下运行,可以选择安装VMware虚拟机,然后将Ubuntu安装在虚拟机中,即可实现在Linux环境下的编程。
VMware虚拟机可以在其官网上下载,Ubuntu已经有中文社区,可以找到不同版本的Ubuntu,16.0版本的Ubuntu在安装过程中出现错误,因此选用14.2版本的Ubuntu。
实验环境准备就绪后,接下来在Linux下实现智能蛇了。
为了实现贪吃蛇能够每秒自动走一步,达到智能的效果,可以用不断刷新屏幕的方法达到。在一个循环里,每一次循环就像一张图片,以计算机的强大计算速度,就可以形成连续的动态形式。
通过kbhit()函数,实现非阻塞地相应键盘输入事件
这里写图片描述
当键盘有输入的时候判断是上或者下后者左或者右,然后重置direct的值,就将方向重置了。当然在向上走的时候按下键是不行的其他也是类似,所以还要判断一下。键盘读入事件使用函数_kbhit();如果有键盘敲击,这个函数就会返回一个非0的数。所以我们可以在每一次刷新的时候用上述代码通过读取键盘重新设置方向。
这里写图片描述
通过上图中的一系列函数,实现初始化地图,产生食物,蛇的移动,蛇的死亡(即游戏的结束)
这里写图片描述
以上是智能蛇的游戏画面
通过编写智能算法,实现蛇自动寻路,吃食物。在无障碍的条件下,智能蛇需要判断如何走最短的距离去吃食物。每次走下一步之前,需要判断四个方向到食物的距离,以此决定下一步的方向。如果出现碰到墙壁和自己身体的情况则需要改变方向。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值