:: 게시판
:: 이전 게시판
|
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
통합규정 1.3 이용안내 인용"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
12/03/12 21:27
class marine;
class hydra private: int attack; int hp; public: int GetAttack() { return attack; int GetHp() return hp;
void HitByMarine(marine m) hp -= m.GetAttack();
}; class marine private: int attack; int hp; public: int GetAttack() { return attack; int GetHp() return hp;
void HitByHydra(hydra h) hp -= h.GetAttack();
}; 뭐 요런식으로 하시면 될 것 같네요. 예외처리 같은 건 다 뺐습니다. 문제의 자세한 스펙은 모르지만 그냥 수도 코드 정도로 이해하시고 코드를 짜시면 될겁니다. 자잘한 문법 오류가 있다면 신경쓰지 마세요..크크
12/03/12 21:30
class Hydra
.... private int attackPower = xxxx; // 히드라 공격력 private void attack(Object<T> target) { target.reduceStamina(attackPower); // 히드라 공격력 만큼 target의 체력 감소 메소드 호출
12/03/12 23:48
이럴때 객체지향때 배우는 상속을 쓰는겁니다! 그래서 상속을 넣고 튜닝을 하자면..
abstract class AttackableUnit int health; int power; public void attacked(int atkPower) { this.health -= atkPower; public void attack(AttackableUnit unit) unit.attacked(this.power);
}; class Marine extends AttackableUnit int health = 40; int power = 6; class Hydra extends AttackableUnit int health = 75; int power = 10; 대충 이런식으로? 그래서 각종 처리같은건 AttackableUnit에서 다 하고 하위 클래스들은 고유값들만 설정하면 다른 드라군이나 질럿같은 유닛을 더 만드는건 아주 간단하게 되지요. 이게바로 객체지향의 묘미입니다^^ 서로 공격/메소드 호출 방법은, Marine m = new Marine(); Hydra h = new Hydra(); m.attack(h); //마린이 히드라를 공격 h.attack(m); //히드라가 마린을 공격 이런식으로 하면 되겠지요.
|