纵轴射击游戏---(1)

先上图

一个游戏引擎应该包括舞台()类,还有精灵类(),然后从上面派生出来英雄,敌人,子弹,值得一提的是map(地图)也是从精灵类中派生出来的;

 

CGame()类就是舞台类,由于精灵类并不需要自己的方法

只需要拥有自己的属性:所以为了节省开支,我用STRUCT()来代替CLASS()

typedef struct{

int character;//角色:0;敌人:1;子弹:2;地图:3

int hp; //精灵的生命值

int x0,y0; //精灵当前的坐标

int m0,m1; //图片起始点m0,和图片终结点m1;

int x1,y1; //爆炸坐标

int m11,m12; //爆炸的起始m11,终结点m12;为敌人而设的

int w,h; //WIDTH HEITGH;

int p; //图片的指针;

int p1; //爆炸指针

int Z; //Z,0为地图层,1为精灵层,时间充足可以往上面添加云层;

}Sprite;

 

为了以后的扩展:我还另外写了一个结构体,指向图片序列:方便以后添加更多的敌人

typedef struct{

int Beg; //起始图片

int Num; //图片数量

}list;

 

这次需要被加载的图片全部都在当前目录的pictures文件夹下

 

从这里可以看到图片不多,所以我并没有采用压缩技术把他们封装起来成一个包,单以后图片多了的话,最好还是用压缩….

 

我的大概思路:

主角是:英雄(TROOPER

敌人是:敌人(CONDOR

敌人会从高空处降落下来对主角进行攻击,一旦与主角发生碰撞就会产生爆炸,并且主角的生命值会减1;主角可以上下左右移动,并且可以发射子弹来阻止敌人的靠近,每干掉一个敌人就会得到加分

由于这还只是个demo(关卡设计这里只有一关,而已英雄的HP降到0都不会死,)都是为了调试的方便,所以我们现在的英雄是无敌的,哈哈哈啊哈,不用开挂就无敌了- -

 

今天挤出一点点时间把这个博文写完,接下来的慢慢再继续- -GG大家不要急

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值