1. 1、本文档共41页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 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;

文档评论(0)

zw4044 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档