• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

valkyrie=FlyableAttackUnit(

21.01.08 19:41 작성 조회수 96

0

안녕하세요, 선생님.

질문이 있습니다!

valkyrie=FlyableAttackUnit("발키리"20063)
valkyrie.fly(valkyrie.name, "3시") #EROOR
가 왜 에러가 나는지 모르겠습니다...
def fly(selfnamelocation) 속 name, location 정보를 다 넣어서 작동해야 하지 않나요...?
[코딩]
class Unit:
  def __init__(selfnamehp):
    self.name=name
    self.hp=hp
      
class AttackUnit(Unit):
  def __init__(selfnamehpdamage):
   Unit.__init__(self, name, hp)
   self.damage=damage

   def attack(selflocation):
     print("{0} : {1} 방향으로 적군을 공격합니다. [공격력 {2}]".format(self.name, location, self.damage))
     def damaged(selfdamage):
       print("{0} : {1} 데미지를 입었습니다.".format(self.name, damage))
       self.hp -= damage
       print("{0} : 현재 체력은 {1}입니다.".format(self.name, self.hp))
       if self.hp <= 0:
         print("{0} : 파괴되었습니다.".format(self.name))
        
class Flyable:
  def __init__(selfflying_speed):
    self.fly=flying_speed
    def fly(selfnamelocation):
      print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]".format(name, location, self.flying_speed))

class FlyableAttackUnit(AttackUnitFlyable):
  def __init__(selfnamehpdamageflying_speed):
    AttackUnit.__init__(self, name, hp, damage)
    Flyable.__init__(self, flying_speed)

valkyrie=FlyableAttackUnit("발키리"20063)
valkyrie.fly(valkyrie.name, "3시") #EROOR

답변 1

답변을 작성해보세요.

0

sellermax님의 프로필

sellermax

2021.08.02

class Flyable:

  def __init__(selfflying_speed):

    self.fly=flying_speed

    def fly(selfnamelocation):

      print("{0} : {1} 방향으로 날아갑니다. [속도 {2}]".format(name, location, self.flying_speed))
여기가 틀렸슴요
self.flying_speed = flying_speed 로 바꿔보세요