项目实战---飞机大战---初学者学习使用详解
Posted A 小码农
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目实战---飞机大战---初学者学习使用详解相关的知识,希望对你有一定的参考价值。
需求分析
运行项目效果,进行分析。
- 敌人分三种:小敌机、大敌机、小蜜蜂
英雄机可以发射子弹,子弹可以打敌人 - 子弹打掉小敌机----------玩家得1分
子弹打掉大敌机----------玩家得3分
子弹打掉小蜜蜂----------英雄机得奖励(1命、40火力值) - 英雄机的火力值为0,则为单倍火力(一发子弹)
英雄机的火力值大于0,则为双倍火力(两发子弹)
发射一次双倍火力,则火力值减2 - 敌人可以和英雄机撞,撞上之后:
英雄机减命,同时,英雄机清空火力值
当英雄机的命数为0时,则游戏结束
day01
设计对象类:
1.找对象:英雄机、子弹、小敌机、大敌机、小蜜蜂、天空
2.抽类:Hero、Bullet、Airplane、BigAirplane、Bee、Sky
3.设计类中的成员变量和方法:
4.创建对象并测试:
创建包:
cn.tedu.shoot
创建类:
Hero
Airplane
BigAirplane
Bullet
Bee
Sky
World
代码实现:
Airplane类:
package cn.tedu.shoot;
//小敌机类
public class Airplane {
//小敌机的属性
int width;//宽
int height;//高
int x;//x轴
int y;//y轴
int step;//速度
//构造方法
public Airplane() {
}
//有参构造
public Airplane(int width,
int height,int x,int y,int step) {
//为属性赋值
this.width=width;
this.height=height;
this.x=x;
this.y=y;
this.step=step;
}
//编写一个输出小敌机信息的方法show
public void show() {
System.out.println("宽:"+width+",高:"+height);
System.out.println("x:"+x+",y:"+y);
System.out.println("速度:"+step);
}
}
Bee类:
package cn.tedu.shoot;
public class Bee {
int width;
int height;
int x;
int y;
int xStep;//横向移动速度
int yStep;//纵向移动速度
public Bee() {
}
public Bee(int width,int height,
int x,int y,int xStep,int yStep) {
this.width=width;
this.height=height;
this.x=x;
this.y=y;
this.xStep=xStep;
this.yStep=yStep;
}
public void show() {
System.out.println("宽:"+width+
",高:"+height);
System.out.println("x:"+x+",y:"+y);
System.out.println("x速度:"+xStep+
",y速度"+yStep);
}
}
BigAirplane类:
package cn.tedu.shoot;
public class BigAirplane {
int width;
int height;
int x;
int y;
int step;
public BigAirplane() {
}
public BigAirplane(int width,int height,
int x,int y,int step) {
this.width=width;
this.height=height;
this.x=x;
this.y=y;
this.step=step;
}
public void show() {
System.out.println("宽:"+width+
",高:"+height);
System.out.println("x:"+x+",y:"+y);
System.out.println("速度:"+step);
}
}
Bullet类:
package cn.tedu.shoot;
public class Bullet {
int width;
int height;
int x;
int y;
int step;
public Bullet() {
}
public Bullet(int width,int height,
int x,int y,int step) {
this.width=width;
this.height=height;
this.x=x;
this.y=y;
this.step=step;
}
public void show() {
System.out.println("宽:"+width
+",高:"+height);
System.out.println("x:"+x+",y:"+y);
System.out.println("速度:"+step);
}
}
Hero类:
package cn.tedu.shoot;
public class Hero {
int width;
int height;
int x;
int y;
int life;//生命值
int doubleFire;//火力值
public Hero() {
}
public Hero(int width,int height,int x,
int y,int life,int doubleFire) {
this.width=width;
this.height=height;
this.x=x;
this.y=y;
this.life=life;
this.doubleFire=doubleFire;
}
public void show() {
System.out.println("宽:"+width
+",高:"+height);
System.out.println("x:"+x+",y:"+y);
System.out.println("生命值:"+life);
System.out.println("火力值:"+doubleFire);
}
}
Sky类:
package cn.tedu.shoot;
public class Sky {
int width;
int height;
int x;
int y;
int step;
int y1;//第二张背景图的y轴坐标
public Sky() {
}
public Sky(int width,int height,
int x,int y,int step,int y1) {
this.width=width;
this.height=height;
this.x=x;
this.y=y;
this.step=step;
this.y1=y1;
}
public void show() {
System.out.println("宽:"+width
+",高"+height);
System.out.println("x:"+x+",y:"
+y+",y1:"+y1);
System.out.println("速度:"+step);
}
}
World类:
package cn.tedu.shoot;
public class World {
public static void main(String[] args) {
Airplane a1=new Airplane(50,40,220,400,4);
a1.show();
}
}
*后续跟着继续学习,有用的话,点个赞,关注一下哈,欢迎博客留言~~~~!!!*
以上是关于项目实战---飞机大战---初学者学习使用详解的主要内容,如果未能解决你的问题,请参考以下文章