用c语言写贪吃蛇难吗,能用c语言写出贪吃蛇大概是什么水平

  用c语言写贪吃蛇难吗,能用c语言写出贪吃蛇大概是什么水平

  私人物品的实际分享

  大家好,我是小杰。

  今天我想起来我已经很久没有登录QQ了。我默默地打开QQ,熟练地输入账号,若有所思地输入密码。密码错误?不要慌,再尝试一亿次,终于登录成功,泪。点开上面的魏云,看到了我的回忆和青春,看到了一个压缩包,snake.zip突然想起来高考结束后的假期我自学了C语言,然后自己写了一个吃蛇游戏.

  运行效果可以先看它的运行效果,再用现在的眼光和水平来看这个节目。

  运行视频

  首先画一个程序分析的流程图,梳理一下它的流程是什么样子的。

  这是我根据源代码画的流程图。下面我们重点分析几个关键点:

  界面绘制是怎么做的?蛇是怎么储存的?蛇是如何移动的?第一点:根据下面的截图,可以看到界面其实是预先定义了一个二位数组,然后根据我们想要打印的内容。在相应二维数组的相应位置填入字符,最后遍历,打印出所有字符。所有未设置的字符都是空字符,蛇是 * ,食物是 @ 。

  可能有人会奇怪为什么左边有一面两层的墙?我觉得当时设置错了,墙应该在右边。写这篇文章的时候没改。我想要的是拿出原始的真实程序进行分析。

  总的来说界面还可以。唯一的缺点就是上下左右的差距有点大。你可以设置成让上下的差距小一点,这样就不会那么尴尬了。

  第二点:蛇是怎么储存的?

  //蛇

  结构蛇

  {

  int x;

  int y;

  struct SNAKE * next

  };可以看到,蛇的身体是由一段一段结构化的蛇组成的,一条完整的蛇是由一个链表连接起来的,而且是一个有前导节点的单链表。这条蛇的设计简洁明了,最重要的是我们只需要关心蛇头。无论我们怎么走,身体的任何部位都会刚好走到蛇头走过的地方,所以只要蛇头不越线撞到身体就没有问题。

  关键三条蛇的移动是游戏设计中最复杂的部分。

  代码中的设计思想是:

  首先遍历蛇的每个节点,然后将每个“*”符号打印为“”。根据全局蛇当前的移动方向,移动到下一步,更新头部节点的位置,然后复制上一个节点的所有位置,判断当前的状态,是有没有吃到食物,还是已经撞墙。如果是正常的,打印出当前蛇的一切,重新绘制,也就是打印 * 。总的来说思路还可以,但是还有很多思路可以优化。比如可以省略第一步,只用最后一步。

  好了,今天就到这里,这里就不贴代码了。挺长的,调大了也不好看。有兴趣可以私信问我要源代码。

  ,

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • 详解c语言中的字符串数组是什么,详解c语言中的字符串数组结构,详解C语言中的字符串数组
  • 表达式求值c++实现,c语言实现表达式求值
  • 看懂c语言基本语法,C语言详解,C语言的基本语法详解
  • 用c语言实现快速排序算法,排序算法设计与实现快速排序C语言,C语言实现快速排序算法实例
  • 深入解析c语言中函数指针的定义与使用方法,深入解析c语言中函数指针的定义与使用情况,深入解析C语言中函数指针的定义与使用
  • 描述E-R图,E-R图举例,关于C语言中E-R图的详解
  • 折半查找法C语言,折半查找算法(算法设计题)
  • 折半查找法C语言,c语言折半法查找数据,C语言实现折半查找法(二分法)
  • 扫雷小游戏c++代码设计,c语言扫雷游戏源代码,C语言实现扫雷小游戏详细代码
  • 怎样统计程序代码行数,C语言统计行数,C#程序员统计自己的代码行数
  • 基于c语言的贪吃蛇游戏程序设计,用c语言编写贪吃蛇游戏程序,C语言实现简单的贪吃蛇游戏
  • 图的两种遍历算法,图的遍历算法代码c语言,Python算法之图的遍历
  • 留言与评论(共有 条评论)
       
    验证码: