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