[1줄요약]

많은 수의 다양한 NPC나 객체에 다양한 이벤트나 효과를 적용하기 위해 하드코딩하지 않는 효율적인 방법에 대해 알고 싶어요 가르쳐줘 인갤에몽!!


[상세질문]


롤에서 자야와 라칸이 같이 귀환하면 남들보다 빨리 귀환할 수 있는 스페셜한 특성이 있잖아?


이건 아마 자야와 라칸 객체에 하드코딩이 되어있을 것 같아 


     if(같이 귀환하는애 == 라칸 || 같이 귀환하는 애 == 자야)  { 

          //아무튼 빠른 귀환 로직

     }


반면에 문명의 불가사의 건물들을 보면 종류는 많은데 출현 조건도 다르고, 필요 재화도 다르고, 효과 적용 방식도 모두 다름


     문명6의 피라미드

     1) 요구기술 : 석조기술

     2) 생산비용 : 220

     3) 입지조건 : 언덕이 없는 사막/범람원

     4) 효과 : 문화+2, 건설자 1기 무료 제공, 모든 건설자의 건설 횟수 1회 추가 


     다들 잘 알겠지만 이런게 대충 수십개가 있음. 요구조건, 비용, 효과(즉 이벤트)가 모두 다름 

         

이걸 하드코딩하진 않았을거 같고 뭔가 json이나 xml이나 db에 데이타만 넣어놓으면 알아서 스탯값과 이펙트값과 이벤트가 적절하게 쫘아아악 로딩되서 적용되는 무언가가 있을거 같았음 


글치만 보닌쟝의 허접 코딩실력으로는 도무지 어떻게하는지 몰루겠던 거심


1


그래서 채찍피티를 채찍질 했더니 


방법1 : 건물별, 이벤트출현조건, 이벤트효과별로 클래스를 별도로 만들고 그걸 상속하고 조합해서 만들면 됨 ㅇㅇ 개노가다니까 허접한 닌겐 니가 할 수 있으면 해보등가ㅋㅋ

방법2 : LUA 쓰셈 LUA킹왕쨩 ㅇㅇ


라고 답변을 받았음


방법1은 노가다의 끝판왕이라고 하니까 방법2로 가야하는데 보닌쟝은 nil을 써야하고 switch가 없는 LUA에 대한 알레르기가 있는 거심

게다가 LUA는 모딩을 허용하면 모를까 괜히 복잡해지고 모바일이면 암호화도 해야하고 서버검증도 해야하고 아무튼 짜칠거 가틈 


그래서 혹시 위 방법 말고 다른 쌈뽕한 방법은 있는지 궁금한 거에요


인갤고수님들 조언'해줘'


26

29