项目实战---飞机大战---初学者学习使用详解

Posted A 小码农

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了项目实战---飞机大战---初学者学习使用详解相关的知识,希望对你有一定的参考价值。

面向对象项目实战---飞机大战day01---初学者很容易上手

需求分析

在这里插入图片描述
在这里插入图片描述

运行项目效果,进行分析。

  • 敌人分三种:小敌机、大敌机、小蜜蜂
    英雄机可以发射子弹,子弹可以打敌人
  • 子弹打掉小敌机----------玩家得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();
		
	}

}

*后续跟着继续学习,有用的话,点个赞,关注一下哈,欢迎博客留言~~~~!!!*

以上是关于项目实战---飞机大战---初学者学习使用详解的主要内容,如果未能解决你的问题,请参考以下文章

Python项目实战:飞机大战

Python项目实战:飞机大战

《游戏学习》HTML5全民飞机大战小游戏实战源码

《游戏学习》HTML5全民飞机大战小游戏实战源码

飞机大战完结篇

Python项目实战:飞机大战