今天给大家分享一个“奔跑吧,火柴人”的游戏项目,希望大家喜欢,谢谢大家的支持!!!
废话不多说,直接进代码
首先我们先要先进行一个全局变量
/******全局变量******/
#define STEPDISTANCE 6 // 一步的距离。数值越大,移动速度越快
#define JUMPSPEED 10 // 数值越小,跳得越远
#define ROLLDISTANCE 30 // 滚动的总步数。数值越大,滚得越远
/******全局变量******/
int s_v = STEPDISTANCE; //障碍物和人物移动速度
int p_v = JUMPSPEED; //人物跳跃速度
int score = 0; //分数
int max_s = 0;
char keydown; //按键值
然后对障碍物进行设置
// 障碍物类型
void zhangai::style()
{
int a;
srand((unsigned int) time(NULL));
a = rand() % 5 + 1;
switch(a)
{
case 0:
case 1:
case 2:
case 3:
case 4:
top = 330;
bottom = 361;
break;
case 5:
top = 260;
bottom = 291;
break;
}
}
//障碍物初始化
void zhangai::draw(int l,int t,int ri,int b)
{
left=l;
top=t;
right=ri;
bottom=b;
solidrectangle(l, t, ri, b);
}
人物类以及初始化
/**************************************人物类***********************************/
class people
{
public:
int i; // 控制人物移动帧数
int b; // 控制人物滚动帧数
int b1; // 控制人物滚动时间
int j; // 人物跳跃上升的速度
int k; // 人物下降的速度
int left;
int top;
int right;
int bottom;
private:
IMAGE img1[8]; // 人物图像
IMAGE img2[8]; // 滚动图像
IMAGE img3; // 跳跃图像
public:
people(); // 构造函数
void jump(); // 人物跳跃
void move(); // 人物移动
void roll(); // 人物滚动
bool impact(zhangai *ps); // 碰撞
} p;
// 构造函数
people::people()
{
// 加载跑动图像
loadimage(&img1[0], _T("rc\\picture\\move8_1.jpg"), 70, 100);
loadimage(&img1[1], _T("rc\\picture\\move8_2.jpg"), 70, 100);
loadimage(&img1[2], _T("rc