用C语言写贪吃蛇笔记-2

接着上篇文章写


首先分析一下贪吃蛇游戏中的元素,继而得出与它们对应的在程序中的描述: 蛇:

基本描述:

长度,颜色,位置。

对应数据与数据类型:长度—虽然可以用坐标表示,但是这样的话,运算量将很大, 所以换算成较大的单位—节数,以固定长度的每节描述;坐标 -- 整型;颜色 -- 整型; 位 置-- X,Y坐标。

增加的描述:

蛇运动的方向,蛇的生命。

对应数据与数据类型:这些描述是为了与程序的按键的输入部分与判断游戏结束部 分相联系而设的。方向只有四个方向:上下左右。可以设置与之对应的四个整型数:

贪吃蛇的生命就只有两种情况:死或生,对应的逻辑运算符为 0 或 1 及真假。


食物:

基本描述:

颜色,位置。

对应数据与数据类型:

由于颜色设成固定的,所以不再讨论。位置— X、Y坐标。

增加的描述:

食物的存在。

对应数据与数据类型:这是为了避免重复出现食物而设置的,与绘制食物的函数有 联系。只有两个值: 0 或 1(没有食物,有食物或食物消失)

其他的元素:

墙,由于它在显示上是作为背景而存在的,所以并没有什么说明实际 的墙壁就是四条直线组成的边框,由坐标描述。

还需要的变量:键盘键入的键值(作为全局变量,整型) ;

经常要使用的循环变量;

自定义的填充图案;

说明文字的字符数组;

游戏的记分;

游戏的速度(蛇的速度) 。


蛇的不停运动的关键算法的流程图

主要模块的实现思路和算法的流程图说明:总程序是整个贪吃蛇程序的一个概括其具体

包括程序的开始,运行及结束和中间的具体细微的判断是否停止或继续进行此游戏。下

面是整个程序中极其重要的部分亦是核心部分。

关键所在——蛇不停移动的 Snakemove():

蛇的不停移动,就是蛇的下一节取代前一节的位置,在计算机中就是蛇下一节的位 置坐标变成前一节的位置坐标。在上文中,已定义蛇的位置坐标为数组类型,一组坐标 对应一节的位置, 假设有 i+1 节,由 0 到 i 节,第 i 节的坐标取第 i-1 节的坐标,第 i-1 节的坐标取第 i-2 节的坐标 ??直到第 1 节取第 0 节的坐标。而第 0 节的坐标,即蛇头 的坐标要往某个方向变化,变化量为蛇每节的长度。蛇的这种坐标轮换需要循环语句使 其继续下去。还有在游戏开始或结束时所出现的背景图或者是音频效果在此过程中运用 了函数的输入输出如 printf(),scanf() 函数等。在游戏运行中所用到的数字(成绩)累 加如函数的调用循环使用。


思路分析完

代码就静候博主更新吧!!!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小红豆的数据分析

小蛇学python(2)两百行代码实现旅游中国34座大城市最短路径

直接说基础语法,也许大家不会感兴趣。前言之后的这一章,给大家介绍一下我最近写出来的一个小功能。用python语言实现GA算法来解决TSP问题,希望以此来激发大家...

1893
来自专栏苦逼的码农

动态规划进阶篇1---背包问题

给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装 入背包中物品的总价值最大?

7673
来自专栏大数据文摘

数学菜鸟的AI学习攻略 | 数学符号轻松入门

2904
来自专栏小L的魔法馆

第13届景驰-埃森哲杯广东工业大学ACM程序设计大赛--I-填空题

3345
来自专栏韩东吉的Unity杂货铺

零基础入门 34:摄像机跟随目标

hello,今天来抽出时间给大家更新一发,之前有好多同学和我反馈说特别想要一个收藏贴可以分享如何制作摄像机追随目标,经过大家一而再再而三的催促,今天来给大家分享...

1914
来自专栏姬小光

请问#f00是什么颜色?

这道题,对于知道的人来说简直就是送分题,这还用问吗?不就是红色吗?而对于不知道或者没有用心的人来说,却无从入手,怎么回答的都有。

8601
来自专栏一心无二用,本人只专注于基础图像算法的实现与优化。

O(1)效率的表面模糊算法优化。

     很久没有写文章了,主要是最近一段时间没有以前那么多空暇空间,内存和CPU占用率一致都很高,应前几日群里网友的要求,今天发个表面模糊的小程序来找回之前...

2376
来自专栏懒人开发

(7.7)James Stewart Calculus 5th Edition:Approximate Integration

黎曼求和,我们把对应的[a, b]分成n份,每份大概为 Δx = (b - a)/n 这个时候,有:

1473
来自专栏Java面试通关手册

六道面试中常见的智力题 来看看你会做几道?

下面的题目来自滴滴出行2017秋招题。这些题目是我自己觉得比较难或者比较容易出错的题目。

1894
来自专栏ACM算法日常

Minecraft我的世界(矩阵处理)- HDU 5538

Have you ever played the video game Minecraft? This game has been one of the wor...

1133

扫码关注云+社区