PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2012/03/12 21:14:04
Name 이헌민
Subject 자바 프로그래밍 질문입니다.
간단하게 유닛이 싸우는 프로그램을 만들고 있습니다.

마린,히드라 라는 객체를 2개 만들어서 마린은 체력,공격력을 가지고 히드라도 고유의 체력과 공격력을 가지고 있습니다.

현재 프로그래밍적 지식으로는 마린객체 내에서 일정한 값을 더하거나 빼는 메서드를 불러와 수치를 가감하는 정도가 한계입니다.
히드라가 마린을 공격해서,히드라의 공격력만큼 마린의 체력이 감소하는 메서드를 정의하는 방법이 궁금합니다.

통합규정 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); //히드라가 마린을 공격

이런식으로 하면 되겠지요.
이헌민
12/03/13 00:41
수정 아이콘
답변해 주신분들 감사합니다.
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
129266 남자 파마 질문입니다. (베이비펌, 텍스쳐펌, 볼륨펌의 차이게 대해서) 사진추가 [4] 사진2610 12/03/12 2610
129265 이 두가지 노트북 차이가 뭘까요? (20만원 차이) [2] WhiteBerry1554 12/03/12 1554
129264 문명5 언어설정 질문드려요 [3] WhistleSky6985 12/03/12 6985
129262 유리멘탈이셨던 분들, 어떻게 극복하셨습니까?! [13] RedSkai3693 12/03/12 3693
129261 씨푸드 레스토랑 추천해주세요 [10] 레알로얄2176 12/03/12 2176
129260 브라운아이즈 가지마기자미 에서 가성은 어디부분에? [9] 에휴존슨이무슨죄2514 12/03/12 2514
129259 이 컴퓨터 사양 어떤가요? [13] 이신애1686 12/03/12 1686
129258 디아3 베타 버그방 진입방법 질문입니다 [2] 수지1894 12/03/12 1894
129257 얼마 전에 KBS에서 했던 K리그 개막특집 '서른살의 꿈' 보신 분 계신가요? [5] Neddy1814 12/03/12 1814
129256 여유가 생겨서 적금을 들려고합니다~ [10] 리니시아2103 12/03/12 2103
129255 신용정보 관련 질문입니다. [1] 애패는 엄마1242 12/03/12 1242
129254 도화지에 인쇄 가능한가요? [2] Love&Hate4096 12/03/12 4096
129253 자바 프로그래밍 질문입니다. [4] 이헌민1823 12/03/12 1823
129252 아이즈(I's) 같은 만화(순정) 추천부탁드려요 [9] Yaya Toure7573 12/03/12 7573
129251 국가 장학금 질문입니다.(복학생) [1] 무쇠다리1258 12/03/12 1258
129250 스타2 개인방송 없나요? [5] XeLNaGa1763 12/03/12 1763
129249 영어공부법 질문 (토익) [16] Wizard_Slayer1561 12/03/12 1561
129248 남아공 사람이랑 2시간 동안 풀로 대화를 하려고 하는데... [5] worcs2170 12/03/12 2170
129247 내 여자친구는 구미호 재밌었나요? [12] 다음세기2099 12/03/12 2099
129246 TV 유선에 대한 질문입니다 [4] 은안1546 12/03/12 1546
129245 허벌라이프.. 다단계인가요? [9] 내사랑사랑아2863 12/03/12 2863
129244 여자사람 선물 질문입니다 [3] 언제나남규리2156 12/03/12 2156
129243 소개팅 건수가 하나 들어왔는데요.... [15] Leon2557 12/03/12 2557
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로