c语言贪吃蛇小游戏程序课程设计.doc
学生课程设计报告
课程设计内容
贪吃蛇小游戏程序设计
(贪吃蛇游戏是一个经典小游戏,一条蛇在封闭围墙里,围墙里随机出现一个食物,通过按键盘四个光标键控制蛇向上下左右四个方向移动,蛇头撞倒食物,则食物被吃掉,蛇身体长一节,同时记10分,接着又出现食物,等待蛇来吃,如果蛇在移动中身体交叉蛇头撞倒自己身体则游戏结束。)
技术路线
使用VC++6.0作为开发环境,
采用控制台的形式完成整个游戏的开发,没有用到MFC。
加入了pcc32.h的头文件及库文件,用于对控制台打印效果的控制。
同时也加入了PlaySound()函数,实现了对菜单选择,游戏开始,游戏结束的音效控制。
游戏栏和输出栏的同时打印,数据的更新打印效果,没有采用双线程的方法实现。
接收用户键盘输入信息,实现游戏暂停,重新开始,菜单选择和进入菜单。
设计与实现
1.游戏基本功能:
游戏有开始菜单界面,并有开始游戏,游戏帮助,关于游戏,退出游戏四个选项
游戏初始化后,一条蛇在密闭的围墙内,在围墙内随机出现一个食物,
通过按键盘上的四个方向键控制蛇移动,
蛇在移动过程中撞到墙壁将不会死亡,而是穿过围墙继续行进,
但是如果蛇身体交叉蛇头撞到自己的身体,则游戏结束。
同时,游戏过程中可暂停游戏,并有积分系统,
且积分每满一定值,蛇的运行速度也会逐步增加。
2.函数定义和声明
(1)头文件#include
#include
#include
#include
#include
#include "mmsystem.h"
#pragma comment
(lib,"winmm.lib")
#include"pcc32.h"
#pragma comment
(lib, "pcc32_vc6.lib")
using namespace std;
#define UP 72
//定义上下左右常量
#define DOWN 80
#define LEFT 75
#define RIGHT 77
#define ESC 27
#define SPACE 32
//空格
#define ENTER 13
//回车
(2)函数声明
void GamePrint();
//游戏开始画面函数
void Gameinit();
//游戏初始化函数
void Sweep_Screem();
//清屏函数
void Gotoxy(int , int);
//光标移动函数
void Hid_Cursor();
//光标隐藏函数
void Snake_Move();
//蛇运动函数
int Create_Food();
//食物产生函数
void Pwall();
//画墙函数
void Key();
//键盘操作和处理函数
void Hit_Wall();
//判断是否撞墙
void Eat_Itself();
//判断是否咬到自己
void Whether_Eat();
//判断蛇是否吃到食物
void GameRun();
//游戏运行函数
void SurFace();
//开始菜单界面
void GameOver();
//游戏结束判断函数
void Pause();
//游戏暂停函数
void MyCount1();
//统计边栏,用来做提示
void MyCount2();
//统计边栏,用来做一些统计
void Menu( int );
//开始界面
void Inti_Data();
//初始化数据
(3)变量声明
int X, Y;
//食物坐标
int Map[79][24]={{0}};
//地图尺寸,其实有食物记为1
int over = 0;
//用来标记游戏结束
int score = 0;
//记录分数
int speed = 130;
//记录速度
int ColoArray[15]=
{15,1,2,3,4,5,6,7,8,9,10,11,12,13,14};
//自己定义的用来控制颜色的数组
int length = 3;
//初始化蛇的长度为3
int Key_Menu;
//开始菜单界面用的零时按键
3.主函数int main()
int main()//主函数
{
START:
Inti_Data();
fixConsoleSize(18,15);
Hid_Cursor();