实现贪吃蛇移动 、道具判定、加速减速、生命条处理、分数处理、暂停处理、键盘或鼠标操控等功能
#include <graphics.h>
#include <conio.h>
#include <time.h>
#include <WINDOWS.H>
#include <queue>
#include <stdlib.h>
#include <stdio.h>
#pragma comment(lib,"Winmm.lib")
#define guozimax 4
#define wuditime 100 //无敌时间
#define jiasutime 50 //加速时间
#define jiansutime 20//减速时间
#define WIDTH 65 // 游戏区域网格宽度
#define HEIGHT 34 // 游戏区域网格高度
#define ITEMSIZE 20 // 游戏元素大小
#define bloodmax 6 // 初始时的血量
#define sheshengdechangdu 7 // 初始时蛇身的长度
#define ztsdinit 50 //初始时正常速度//延时
#define xiebaomax 100 //血包出现频率
#define jiasubaomax 100 //加速包出现频率
#define jiansubaomax 100 //减速包出现频率
#define jiasuhousd 10 //加速后速度//延时
#define jiansuhousd 200 //减速后速度//延时
int a[HEIGHT][WIDTH]={0},dir=1;// dir 是 方向 1是向右 2是向左 3是向上 4是向下
int k=0, z=0, mon=0;//k是 调控 果子出现速率 在guozi函数中使用 z是控制障碍物葡萄 在zhangaiwu函数中使用 mon是控制小爬虫"gif"闪烁
int sc=0, sc_=0; //sc 是分数 在画布的最下方 更新显示 最后报给玩家 我为什么要有两个sc呢 在fs函数中会具体说明
int wudi=0, wudi_=0;
int jiasu=0, jiasu_=0;
int jiansu=0, jiansu_=0;
int ztsd=100;
int jiansubaodeshuliang=jiansubaomax;
int jiasubaodeshuliang=jiasubaomax;
int xiebaodeshuliang=xiebaomax;
int g1=1 , g2=1, g3=1, g4=1,g5, g2_=1,imax,jmax, ip, jp, max, it, jt; // g1 g2 g3 g5 控制游戏结束 //游戏开始时 在Start()函数中重新赋值
TCHAR s2[4]= _T("0"),s1[] = _T("分数:"), shengmingwenzi[]=_T("生命:"), shengmingshuzi[2]=_T("0");// 全局 字符串
TCHAR sorry1[] = _T("啊欧! 贪吃蛇撞在了树上, 请按任意键继续");
TCHAR sorry2[] = _T("啊欧! 贪吃蛇吃了太多的酸葡萄, 请按任意键继续");
TCHAR sorry3[] = _T("啊欧! 贪吃蛇撞自己身上了, 请按任意键继续");
TCHAR sorry4[] = _T("啊欧! 贪吃蛇被小爬虫咬了, 请按任意键继续");
TCHAR s3[] = _T("点此暂停");
TCHAR wudizfc[] = _T("无敌");
TCHAR jiasuzfc[] = _T("加速");
TCHAR jiansuzfc[] = _T("减速");
评论