2013-11-03 3 views
0

저는 파이썬 atm에서 먹어 치우고 작은 게임 유형을 만들려고합니다. 지금까지 그렇게 많이 한 것은 아니지만 내가 원하는 것은 전투 시스템으로 특정 신체 부위를 대상으로 삼을 수있게 해줍니다. 다음 코드는 대상 유닛, 해당 유닛의 일부 및 공격에 사용 된 손 (이 스 니펫에서는 오른쪽 만 사용)을 가져 와서 대상 신체 부위의 '손상'방법을 호출하기위한 코드입니다.변수가있는 속성을 참조하려고 시도합니다 (Python)

def attack(self, target, part, hand): 
     if hand == 'right': 
      if self.righthand.o <> []: #this checks if the righthand has a weapon 
       dmg = self.righthand.o[0].getdmg() #gets damage from the weapon 
       target.part.deltahealth(dmg) #reduces the bodyparts HP value 

이제는 5 번째 행에서 문제가 발생합니다. 내 머리 속에는이 부분을 특정 부분으로 부르기위한 것입니다. 그것은 본문 '부분'이 아닌 부분의 값을 찾습니다 때문에 같은 target.lefthand.deltahealth (데미지) 또는 target.righthand.deltahealth (데미지)는

class Bodypart(object): 

     def __init__(self, e, t): 
      self.MHP = self.gmh(e,t) #this calculates a health, not relevant really 
      self.CHP = self.gmh(e,t) 
      self.holding() 
      self.status = 'Healthy' 

     def deltahealth(self,d): 
      self.CHP = self.CHP - d #specifically this 

그러나, 그것은 작동하지 않습니다. 이 작업을 내가 원하는대로 만들 수 있습니까?

+0

사실,'part'은 무엇인가? – aIKid

+0

편집 : 나는 멍청이이다. 해결책은 바로 아래입니다. 죄송합니다. 데이터 감사합니다! 모두를 이해하려고 애쓰는 모든 사람에게 미안 : P – user2949883

답변

관련 문제