基本贪吃蛇

我们小时候都玩过贪吃蛇游戏,网上的贪吃蛇代码也很多,笔者也试着设计了一下最简单的贪吃蛇,下面让我们一起来看看一只贪吃蛇的成长吧
首先,当然是设计思路,并写出伪代码啦
这里写图片描述
这里写图片描述
我们需要实现以下几个任务
1、随机放置食物
2、打印出贪吃蛇初始状态
3、输入指令,实现贪吃蛇不同方向的移动
4、打印出贪吃蛇操作后的位置
在开始写主要的程序前,我们需要做初步准备
蛇的身体用“X”表示,头用“H”表示,食物用“$”表示,边界用“*”表示,并设定贪吃蛇的初始长度和最大长度
这里写图片描述
直接打印出初始状态
这里写图片描述
我们运用自顶向下,逐步求精的思想
主函数操作如下
这里写图片描述
我们用dx、dy表示坐标的变化,不同的指令dx、dy对应不同的值,坐标变化也不同
这里写图片描述
坐标变化后,需要调用snakemove函数去实现它,使蛇的坐标改变并显示出来
如果蛇吃了食物,那么它的长度要+1,所以需要记录下蛇尾的初始位置,横纵坐标分别用ssnakex,ssnakey表示。
在蛇移动的时候,如果没有吃到食物,那么整个蛇前进一步,此时原来的蛇尾变成空格,所以要在移动之前把原来的蛇尾变成空格,移动后的蛇的第一节(从蛇尾算)对应着原来蛇的第二节,第二节对应原来的第三节,以此类推,将原来蛇的第i+1节的坐标赋给现在蛇的第i节,蛇头为原来的蛇头坐标分别加dx,dy。
这里写图片描述
移动后蛇头的位置分为三种状态
1、碰到墙或者自己的身体则游戏结束
这里写图片描述
2、如果移动后的蛇头位置是空格,那么整个蛇前移,长度不变
这里写图片描述
3、如果碰到食物,蛇的长度+1,原来食物的位置变为蛇头,原来的蛇尾还是蛇尾,此时食物没有了,需要调用put_food函数重新放置食物。
这里写图片描述
以下是需要用到的其他函数
1、随机放置食物
食物必须放在空格区域
这里写图片描述
2、打印当前状态
这里写图片描述

这样一个基本的贪吃蛇就做好啦~

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现移动,吃食变长游戏把子上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,不能咬到自己的身体,更不能咬自己的尾巴,等到了一定的分数,就能过关,然后继续玩下一关。[3] 二、“贪吃蛇游戏的发展编辑 改变此款游戏的特别多。比如在蛋的方面,可能放上带道具的蛋,使蛇吃完后具有保护,穿墙等特种功能,而且难度逐渐变难,游戏制作的精细度和画面的质量也随着版本的提高而不断提高,且有单人及团队联机对战版本陆续推出。 参考资料游戏把子上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,不能咬到自己的身体,更不能咬自己的尾巴,等到了一定的分数,就能过关,然后继续玩下一关。[3] 二、“贪吃蛇游戏的发展编辑 改变此款游戏的特别多。比如在蛋的方面,可能放上带道具的蛋,使蛇吃完后具有保护,穿墙等特种功能,而且难度逐渐变难,游戏制作的精细度和画面的质量也随着版本的提高而不断提高,且有单人及团队联机对战版本陆续推出。 游戏把子上下左右控制蛇的方向,寻找吃的东西,每吃一口就能得到一定的积分,而且蛇的身子会越吃越长,身子越长玩的难度就越大,不能碰墙,不能咬到自己的身体,更不能咬自己的尾巴,等到了一定的分数,就能过关,然后继续玩下一关。[3] 二、“贪吃蛇游戏的发展编辑 改变此款游戏的特别多。比如在蛋的方面,可能放上带道具的蛋,使蛇吃完后具有保护,穿墙等特种功能,而且难度逐渐变难,游戏制作的精细度和画面的质量也随着版本的提高而不断提高,且有单人及团队联机对战版本陆续推出。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值