- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
100%注释后的贪吃蛇程序讲述
#include graphics.h
C语言的图形库文件,其后下面函数在文件内:setfillstyle(),bar(),setcolor()
#include stdio.h C语言的标准输入输出库文件
#include stdlib.h
C语言的标准库文件,其后下面函数在文件内:int rand(void)
#include conio.h
C的标准库文件, 其后下面函数在文件内:kbhit()
#include bios.h
C语言的标准库文件,其后下面函数在文件内:bioskey()
语法点:文件包含P97 函数P66
#define MAX 200
#define MAXX 30
#define MAXY 30
语法点:宏定义P95
#define UP 18432
#define DOWN 20480
#define LEFT 19200
#define RIGHT 19712
#define ESC 283
#define ENTER 7181
#define PAGEUP 18688
#define PAGEDOWN 20736
#define KEY_U 5749
#define KEY_K 9579
#define CTRL_P 6512
设定每个键在dos下的码,以便后面调用key = bioskey(0)时用
如UP表示上方向键,它在系统的键码是18432,后面的键以此类推
#define TRUE 1
#define FALSE 0
C++中使用BOOL类型代替
#define GAMEINIT 1 游戏初始标志
#define GAMESTART 2 游戏开始标志
#define GAMEHAPPY 3 游戏成功标志
#define GAMEOVER 4 游戏结束标志
struct SPlace
{ int x;
int y;
int st;
} place[MAX];
语法点:结构体P151
struct SPlace 用于记录蛇身体的一点的结构体,结构体内:x, y为蛇身中某点在屏幕上的十字坐标,st为状态标志,值为1时则该结构体所存值为蛇身一点,需要显示;值为0时表示结构体不再存蛇身点数据的有效值,不显示. struct SPlace数组 place[MAX]用于记录组成蛇身体所有点的信息。开始时蛇身只有两点,每吃一个食物后,蛇身点数加1。当蛇移动时,组成蛇身的点的数据也会发生变化。
int speed; 控制游戏速度的变量,值越大,速度越快。
int count; 记录蛇吃食物数量
int score; 游戏得到的分值
int control; 游戏按键的控制,它的不同值表示按上下左右四种状态
int head; 蛇头点信息存在place[MAX]数组中的下标值
int tear; 蛇尾点信息存在place[MAX]数组中的下标值
int x, y;
int babyx, babyy; 食物的在屏幕的X,Y坐标
int classa; 游戏的当前等级,等级越高,速度越快
int eat;
int game;
语法点:数据类型P10 变量P12
int gamedelay[]={20000, 4000, 3000, 2000, 1000, 500, 250, 100};
int gamedelay2[]={1000, 1};
语法点:数组P104 变量属性P84
延迟1 gamedelay[],用于控制速度的参数,延迟2 gamedelay2[],和延迟1一起来控制画面切换的speed:gamedelay[classa] + gamedelay2[hit]
static int hitme = TRUE, hit = TRUE;
语法点:变量的属性p84
void init(void); 初始化函数声明
void nextstatus(void); 下一状态计算函数声明
void draw(void); 绘制函数声明
语法点:函数P64
void init(void) 初始化函数,把游戏的所有用到的资源都初始化
{
int i;
for (i = 0; i MAX; i++)
{
place[i].x = 0; 蛇身体点数组place[i],记录某点在屏幕坐标
place[i].y = 0; place[i]的所有值赋0,这些点开始都不使用
place[i].st = FALSE; 组成蛇的身体的点开始都不使用,也不用显示
}语法点:FOR语句P48 结构体P151
pl
您可能关注的文档
最近下载
- 一种电子级硝酸的制备方法.pdf VIP
- 招标文件评分要点深度分析.docx VIP
- 电力行业集团数字化转型信息化战略规划方案.docx
- 作风建设学习教育单位自查清单(28个问题方面)+领导干部作风建设学习教育查摆问题清单(五个方面共15条).docx VIP
- 2024江苏省数据集团有限公司招聘试题及答案解析.docx
- FlyWan双口USB打印服务器安装方法.doc VIP
- 2023年03月六级真题全3套.pdf VIP
- 2024年初三中考第一次模拟考试试题:地理(安徽卷)(考试版A3).docx VIP
- 天津市部分区2022-2023学年三年级下学期语文期末试卷.pdf VIP
- 高铁客运服务案例分析报告.docx VIP
文档评论(0)