U E D R , A S I H C RSS

Java Study2004/조동영

숙제


두번째날
Unit
~cpp 
public class Unit {
	protected int unitHp;

	protected int unitShield;

	protected int attackPoint;

	private boolean airAttack;

	protected String nowState;

	public String name;

	public Unit() {

	}

	public Unit(int hp, int shield, int attack, String state, boolean air) {
		this.unitHp = hp;
		this.unitShield = shield;
		this.attackPoint = attack;
		this.nowState = state;
		this.airAttack = air;
	}

	//사용이 안되었네요.
	/*
	 * public String changeState(String aState) { this.nowState = aState; return
	 * nowState; }
	 */
	public void underattack(int aAttackPoint) {
		int totalHp;
		totalHp = unitHp + unitShield;
		totalHp -= aAttackPoint;
		if (totalHp > unitHp) {
			unitShield = totalHp - unitHp;
			System.out.println("공격받은후의 Dragoon의 Hp와 Shield");
			System.out.print(unitHp);
			System.out.print(unitShield);
		} else if (totalHp == unitHp) {
			unitShield = 0;
			System.out.println("공격받은후의 Dragoon의 Hp와 Shield");
			System.out.print(unitHp);
			System.out.print(unitShield);
		} else {
			unitHp = totalHp;
			System.out.println("공격받은후의 Dragoon의 Hp와 Shield");
			System.out.print(unitHp);
			System.out.print(unitShield);
		}
	}

	public int getAttackPoint() {
		return attackPoint;
	}

	public int getHp() {
		return unitHp;
	}

	public int getShield() {
		return unitShield;
	}

	public static void main(String[] args) {
		zealot z = new zealot(100, 100, 10, "attack", false);
		dragoon d = new dragoon(150, 150, 20, "stop", true);
		System.out.println("공격받기전의 Dragoon의 Hp와 Shield");
		System.out.println(d.getHp());
		System.out.println(d.getShield());
		d.underattack(z.getAttackPoint());
	}
}
zealot
~cpp 
public class zealot extends Unit {

	public zealot(int hp, int shield, int attack, String state, boolean air) {
		super(hp, shield, attack, state, air);
		System.out.println("Zealot이 생성되었습니다.");
	}
}
dragoon
~cpp 
public class dragoon extends Unit {

	public dragoon(int hp, int shield, int attack, String state, boolean air) {
		super(hp, shield, attack, state, air);
		System.out.println("Dragoon이 생성되었습니다.");
	}
}

지적하시고싶으신부분 써주세요 ^^;
  • 역시 깔끔하고 보고 쉬운 소스 네요
    아쉬운 점은, 공격받았을때 실드 깎이고 hp깍이는 설정, 사실 이건 별 상관없고요,
    자식 클래스의 생성자는 전달인자가 없는 기본 생성자 모양으로 해놓고( ex) zealot() )
    생성자 내에서 자동으로 (질럿이나 드라군은 hp 실드 등이 결정되어있으므로) 결정하면 더 좋겠죠? --iruril


Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:33
Processing time 0.0100 sec