파이썬으로 커맨드 패턴 비슷하게 흉내내서 뭐 좀 만드는데 질문 좀.


RPG에서 버프 있잖아. 그거 처리하는 거 만들려고 해서.

전에 어떤 횽이 커맨드 패턴 사용하라고 해서 

비슷하게 만들어보고 있거든


일단 구성은

스킬베이스->각 스킬이 상속받아 구현

전투에 들어가면 캐릭터가 가진 스킬이 버프를 객체를 생성해서 

게임매니저가 가진 버프 리스트에 등록한후, 해당 턴마다 버프 리스트를 돌며 버프가 작동하게 구현했거든

그렇게 하다보니 스킬이 만드는 버프 객체에 중복이 많아서 줄일 방법이 없어서..


for temp in self.P.SKILL_LIST:
if temp.EffectTypes == 2:
self.P_Buff_List.append(temp.enroll())

이런 느낌으로 구현을 했더니

enroll()에

def enroll(self):
temp = BF_Enhance()
temp.Name = self.Name
temp.Val = self.Val
temp.Tick = self.Tick
temp.P = self.P
temp.E = self.E
return temp

temp = 클래스 이름 주는 부분만 빼고 계속 중복이야....

BF_Encance() ,BF_Enforce(), BF_PoerUp() 등등... 클래스 이름만 바뀌고 나머진 이름 값 등은 계속 똑같이 주는 거야..

이거 좀 줄여보고 싶은데 방법 좀 알려주라.