飞机射击游戏 (Java基础)

飞机射击游戏 (Java基础)

超类FlingObject

package pers.zhaxi.shootgame.shoot01;
import java.util.Random;
/*
 * 所有飞行物的超类
 * 英雄机 Hero
 * 小敌机 Airplan
 * 大敌机 BigAirplan
 * 超大敌机 SuperAirplan
 * 所有相同的行为方法写到超类里,设置为普通方法,如有子类有自己的特征重写
 * 所有不同的行为方法写到超类里,设置为抽象方法
 */
public class FlingObject {

	//所有派生类飞行物共有的属性
	protected int width ;   //宽度
	protected int height ;  //高度
	protected int x ;       //位置 x坐标
	protected int y ;       //位置 y坐标
	
	/*
	*构造方法 父类构造方法
	*供子类的小敌机 大敌机 超敌机使用
	*因为他们的 x y 的设置相同 都要从上面随机向下运动
	*/
	public FlingObject(int width , int height ){
		this.width = width ;
		this.height = height ;
		Random ran = new Random() ;
		x = ran.nextInt(480-width) ;
		y = -height ;
	}
	//供子类的天空 英雄机 使用  
	public FlingObject(int width , int height, int x ,int y ){
		this.width = width ;
		this.height = height ;
		this.x = x ;
		this.y = y ;
	}	
	//如何运动的方法 供子类重写
	public void moveing(){
		System.out.println("");
	}	
}

##英雄机类

package pers.zhaxi.shootgame.shoot01;

/*
 * 英雄级类
 * 私有的成员变量
 *  private int life ;
 *	private int speed ;
 *	private int doubleFire ;
 *
 * 重写父类的moveing方法 重写必须和父类方法名称相同
 * 如果子类重写父类的方法 调用时运行子类的方法 否则运行父类的
 */
public class Hero extends FlingObject {

	//数据私有化 
	private int life ;    //生命指数
	private int speed ;   //移动速度
	private int doubleFire ;  //火力指数
	
	//构造函数
	public Hero(){
		super(97 , 124 , 150 , 650) ;  //必须调用父类的构造方法
		life = 3 ;
		speed = 2 ;
		doubleFire = 2 ;
	}
	//移动的方法     行为公开化
	public void moveing(){
		System.out.println("英雄机启动了!"+"x:"+x+"; y:"+y+";"
				+ " width:"+width+"; height:"+height);
	}
}

你可能感兴趣的:(java,Java射击游戏,Java入门,java基础练习游戏,Java打飞机,java)