- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
game.cpp
程 序 名 称 :超级磨菇
编 译 环 境 : VC6 , EasyX_beta)
作 者:木 子 念 念
最 后 修 改: 2012-11-5
注:本游戏的每个算法思想都是由自己独立思考出来的,所以可能会有很
多不完善以及错误的地方,在此也希望大家能指出程序中的bug或错误。
游戏优点:使用了类和结构体,所以结构较为清晰明了。功能比较完全,包含图片和音乐。
游戏缺点:由于没有太多时间,所以只设置了一关游戏,而且游戏地图很小。
#include graphics.h
#include conio.h
#include math.h
#include MyTimer.h // 一个保证精确延时的类。下载于 easyx 官网
#pragma comment(lib, Winmm.lib) // 给游戏添加音乐要用到它
#define G 9.8 // 重力加速度
#define XSIZE 512 // 屏幕大小
#define YSIZE 384
#define X 64 // 主角起始位置
#define Y 192
#define W 32 // 主角的宽和高
#define H 32
#define STEP 4 // 主角走一步相距的像素个数
#define HIGH (2*role.w+1) // 主角跳跃的最大高度
#define CMD_LEFT 1 // 方向键的宏定义
#define CMD_RIGHT 2
#define CMD_UP 4
#define CMD_DOWN 8
#define CMD_SHOOT 16
#define CMD_ESC 32
int life; // 全局变量,主角共有多少条生命
int score; // 全局变量,主角获得的分数
struct ROLE
{
int id;
int x; // 横坐标
int y; // 纵坐标
int w; // 图片宽度
int h; // 图片高度
int xleft; // 水平运动的左界限
int xright; // 水平运动的右界限
int turn; // 精灵的运动方向
int jump; // 精灵是否跳跃
int iframe; // 加载第几副精灵图,这样就能让精灵看上去动起来了
};
struct MAP // 储存地图的结构体
{
int id;
int x;
int y;
};
struct BULLET // 子弹的结构体
{
int x;
int y;
int turn;
int iframe;
int id;
};
struct COINT // 硬币的结构体
{
int x;
int y;
double iframe;
};
struct ENEMY // 敌人的结构体
{
int id;
int x;
int y;
int turn;
int iframe;
};
class game // 整个游戏只设置了这一个类
{
private:
ROLE role;
MAP map[350];
BULLET bullet[20];
COINT coint[50];
ENEMY enemy[20];
IMAGE img_mapsky,img_p,img_map,img_ani,img_mapbk,img_home;
int xmapsky; // 背景天空的起始横坐标
int xmap; // 地图的起始坐标
double v0; // 精灵跳跃的初速度
double h; // 精灵跳跃的高度
double t; // 精灵跳跃的时间
int ibullet; // 第几颗子弹
int xbullet; // 子弹的x坐标
int ybullet; // 子弹的y坐标
int get_bullet; // 是否获得武器,0表示没有获得,1表示已获得
POINT icoint; // 储存硬币的坐标
POINT bomb[20]; // 储存哪些地方爆炸了的坐标
POINT temp; // 临时坐标。储存哪些地方爆炸了的坐标
double score_frame; // 下面3个double型的变量用于控制各自图片的帧,以实
现动画的效果。如画面中的流水
double bomb_frame;
您可能关注的文档
- 2016三明事业单位招聘面试时间.doc
- 2016年国家公务员面试:浅析公务员面试社会现象题的黄金思路.doc
- 2016年心理学考研院校大汇总.doc
- 2016江西教师招聘面试初中物理说课稿:认识压强.doc
- 2016心理学考研院校排名.doc
- 2016教师招聘面试之说课篇.doc
- 2110年美术考题.doc
- 22个问题答案.doc
- 24点源码.doc
- 22130440餐饮企业流程管理教学大纲.doc
- 2023年湖北省孝感市孝昌县丰山镇阳岗(社区工作人员)自考复习100题模拟考试含答案.pdf
- 计算机图形图像制作专业人才培养方案及对策.pdf
- 钢筋工程承包的协议书范文(标准版).pdf
- 纪检监察常用文件格式及范例.pdf
- 社会资本办专科医疗机构手术机器人配置评审总体评分表【医院乙类大型医用设备配置评审总体评分表】2019.pdf
- 2023年四川省广安市华蓥市高兴镇(社区工作人员)自考复习100题模拟考试含答案.pdf
- 苏州市2024-2025学年七年级上学期开学分班模拟考试语文试题.pdf
- 股份公司合作协议书范文3篇.pdf
- 老河口2022年中学教师招聘考试真题及答案解析卷1.pdf
- 2023危货驾驶员、押运员岗位考核试题.pdf
文档评论(0)