实例介绍
【实例简介】实现贪吃蛇移动 、道具判定、加速减速、生命条处理、分数处理、暂停处理、键盘或鼠标操控等功能
【实例截图】
【核心代码】#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("减速");
【实例截图】

【核心代码】#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("减速");
好例子网口号:伸出你的我的手 — 分享!
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论