没有合适的资源?快使用搜索试试~ 我知道了~
TC下写的贪吃蛇
5星 · 超过95%的资源 需积分: 9 7 下载量 168 浏览量
2015-09-04
22:14:56
上传
评论
收藏 16KB TXT 举报
温馨提示
试读
18页
大体思路就是将40*21的区域划分成一个20*21的二维表格,每个模块的大小是2*1,用结构体建造这个二维数组,结构体中有个state变量表示当前这个模块所代表的含义,最外面一圈的状态都是“墙”,通过蛇头的位置和当前方向判断下一位置的状态是否能让蛇继续走下去。
资源推荐
资源详情
资源评论
/* 头文件 */
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<dos.h>
#include<math.h>
#include<time.h>
#include<graphics.h>
/*宏定义*/
#define Key_DOWN 0x5000
#define Key_UP 0x4800
#define Key_ENTER 0x1c0d
#define Key_ESC 0x011b
#define Key_LEFT 0x4b00
#define Key_RIGHT 0x4d00
#define Key_SPACE 0x3920
#define Key_Number_ONE 0x0231
#define Key_Number_TWO 0x0332
#define Key_Number_THREE 0x0433
#define Key_Number_Small_ONE 0x4f31
#define Key_Number_Small_TWO 0x5032
#define Key_Number_Small_THREE 0x5133
#define WINDOWMAX 12,2,69,22
#define WINDOWLEFT 12,3,53,22
#define WINDOWLEFTIN 14,4,51,21
#define REMOVECURSOR window(80,25,80,25)
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
#include<dos.h>
#include<math.h>
#include<time.h>
#include<graphics.h>
/*宏定义*/
#define Key_DOWN 0x5000
#define Key_UP 0x4800
#define Key_ENTER 0x1c0d
#define Key_ESC 0x011b
#define Key_LEFT 0x4b00
#define Key_RIGHT 0x4d00
#define Key_SPACE 0x3920
#define Key_Number_ONE 0x0231
#define Key_Number_TWO 0x0332
#define Key_Number_THREE 0x0433
#define Key_Number_Small_ONE 0x4f31
#define Key_Number_Small_TWO 0x5032
#define Key_Number_Small_THREE 0x5133
#define WINDOWMAX 12,2,69,22
#define WINDOWLEFT 12,3,53,22
#define WINDOWLEFTIN 14,4,51,21
#define REMOVECURSOR window(80,25,80,25)
#define MAXSCORE 342
enum STATE{OFF,ON,HEAD,FOOD,WALL}; /* 表示每个模块的各个组成部分的状态 */
/* OFF -- 表示这什么也没有 */
/* ON -- 有蛇的身体 */
/* HEAD -- 蛇头 */
/* FOOD -- 食物 */
enum {WIN,TOUCHWALL,TOUCHBODY}; /* 游戏结束时的结果 */
enum DIRECTION{LEFTD,RIGHTD,UPD,DOWND,WRONGKEY};
/* 蛇的方向 */
typedef struct MODULE{
int state; /* 每一个模块的状态 */
int lineofmod; /* 在二维数组里的行号 */
int colofmod; /* 在二维数组里的列号 */
int linenum; /* 打印在屏幕上时的行号 */
int colnum; /* 打印在屏幕上时的列号 */
struct MODULE * tohead; /* 当前模块连接的上一模块 */
struct MODULE * totail; /* 当前模块连接的下一模块 */
}Module;
/* 函数声明 */
void Print_Body(int left,int top);
void Print_Head(int left,int top);
void Print_Food(int left,int top);
void Print_BK(int left,int top);
void Set_Food();
void Result(int over);
enum STATE{OFF,ON,HEAD,FOOD,WALL}; /* 表示每个模块的各个组成部分的状态 */
/* OFF -- 表示这什么也没有 */
/* ON -- 有蛇的身体 */
/* HEAD -- 蛇头 */
/* FOOD -- 食物 */
enum {WIN,TOUCHWALL,TOUCHBODY}; /* 游戏结束时的结果 */
enum DIRECTION{LEFTD,RIGHTD,UPD,DOWND,WRONGKEY};
/* 蛇的方向 */
typedef struct MODULE{
int state; /* 每一个模块的状态 */
int lineofmod; /* 在二维数组里的行号 */
int colofmod; /* 在二维数组里的列号 */
int linenum; /* 打印在屏幕上时的行号 */
int colnum; /* 打印在屏幕上时的列号 */
struct MODULE * tohead; /* 当前模块连接的上一模块 */
struct MODULE * totail; /* 当前模块连接的下一模块 */
}Module;
/* 函数声明 */
void Print_Body(int left,int top);
void Print_Head(int left,int top);
void Print_Food(int left,int top);
void Print_BK(int left,int top);
void Set_Food();
void Result(int over);
剩余17页未读,继续阅读
资源评论
- u0110789082015-10-09经典的简单游戏!
clevernight
- 粉丝: 6
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功