숙제 ¶
두번째날
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










