达内学习日志项目一:飞机大战(二)

项目实施

接上文(飞机大战<一>)

项目目录如下:

达内学习日志项目一:飞机大战(二)_第1张图片

图1 

如图一以及飞机大战(一)中的内容,可知我们需要建Airplane,Award,Bee,Bullet,Enemy,FlyingObject,Hero和ShootGame八个类。

其中,有两个是接口(即:敌人:Enemy 奖励:Award)

一个测试类(也是图形界面窗口)ShootGame

有一个父类:飞行物FlyingObject

敌机继承敌人,继承飞行物

子弹,飞行物,继承飞行物

小蜜蜂继承奖励,继承飞行物

程序代码如下:

1.Airplane

达内学习日志项目一:飞机大战(二)_第2张图片

2.Bee

达内学习日志项目一:飞机大战(二)_第3张图片

3.Bullet

达内学习日志项目一:飞机大战(二)_第4张图片

4.Hero


5.奖励接口(Award)


6.敌人接口(Enemy)


7.FlyingObject

达内学习日志项目一:飞机大战(二)_第5张图片
8.游戏窗口界面(ShootGame)

1>.加载图片


2>.绘制窗体

达内学习日志项目一:飞机大战(二)_第6张图片

游戏界面窗口效果:

达内学习日志项目一:飞机大战(二)_第7张图片

完成飞机大战(一)中的前八步,后完成如下9—11步

9.paint图形(固定不动的)

1>.代码重构

1.1>.在FlyingObject类中添加get.set方法(可在Source中生成)
达内学习日志项目一:飞机大战(二)_第8张图片
1.2>.在Airplane,Bee,Bullet中添加构造方法
达内学习日志项目一:飞机大战(二)_第9张图片

达内学习日志项目一:飞机大战(二)_第10张图片



1.3>.在ShootGame中画出英雄机,子弹,和飞行物

游戏界面效果:


10.飞行物出场(工厂方法):nextOne():随机出现蜜蜂和飞机

注:飞机大战的绝大部分操作集中在ShootGame类中,文中若无特别说明,均在ShootGame类中进行操作。

11.重写

1>.敌机:扩充走步


2>.小蜜蜂:扩充走步


3>.子弹:扩充走步(有参构造)


4>.英雄机:图片交换

达内学习日志项目一:飞机大战(二)_第11张图片

其中,对比敌机走步与子弹走步,y是相反的,因为子弹是由英雄机发射,向上飞行,敌机只有下落功能。

蜜蜂是倾斜下落的,所以会发杂一些。

英雄机的走步就是图片的交换,形成动画效果

见图1,图1中有hero0和hero1两张图片,分别如:


图hero0                 图hero1

12.飞行物走步

达内学习日志项目一:飞机大战(二)_第12张图片

13.子弹入场(数组追加)

1>.在Hero中添加发射子弹的方法


2>.在ShootGame中进行子弹入场(数组追加)

达内学习日志项目一:飞机大战(二)_第13张图片

你可能感兴趣的:(达内学习日志项目一:飞机大战(二))