#์ผ๋ฐ์
class Unit: #๋ถ๋ชจ ํด๋์ค
def __init__(self, name, hp):
self.name = name
self.hp = hp
class AttackUnit(Unit): #์์ ํด๋์ค
def __init__(self, name, hp, damage):
Unit.__init__(self, name, hp)
self.damage = damage
def attack(self, location):
print("{0} : {1} ๋ฐฉํฅ์ผ๋ก ์ ๊ตฐ์ ๊ณต๊ฒฉํฉ๋๋ค. [๊ณต๊ฒฉ๋ ฅ {2}]"\
.format(self.name, location, self.damage))
def damaged(self, damage):
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))
#๋ฉ๋: ์๋ฌด๋ณ
#ํ์ด์ด๋ฑ : ๊ณต๊ฒฉ ์ ๋, ํ์ผ ๋ฐฉ์ฌ๊ธฐ
firebat1 = AttackUnit("ํ์ด์ด๋ฑ", 50, 16)
firebat1.attack("5์")
#๊ณต๊ฒฉ ๋ ๋ฒ ๋ฐ๋๋ค๊ณ ๊ฐ์
firebat1.damaged(25)
firebat1.damaged(25)
#๋ค์ค ์์ : ๋ถ๋ชจ๊ฐ ๋. ๊ณต์ค ์ ๋์ ๋ง๋ค๋ฉด ์ผ๋ฐ์ ์ ๋์ ํน์ฑ๊ณผ ๋ ์ ์๋ ๊ธฐ๋ฅ์ด ์์ด์ผ.
# ๋๋์ฝ: ๊ณต์ค ์ ๋, ์์ก๊ธฐ. ๋ง๋ฆฐ / ํ์ด์ด๋ฑ / ํฑํฌ ๋ฑ์ ์์ก. ๊ณต๊ฒฉ ๊ธฐ๋ฅ X
#๋ ์ ์๋ ๊ธฐ๋ฅ ๊ฐ์ง ํด๋์ค
class Flyable:
def __init__(self, flying_speed):
self.flying_speed = flying_speed
def fly(self, name, location):
print("{0} : {1} ๋ฐฉํฅ์ผ๋ก ๋ ์๊ฐ๋๋ค. [์๋ {2}]"\
.format(name, location,self.flying_speed))
#๊ณต์ค ๊ณต๊ฒฉ ์ ๋ ํด๋์ค
class FlyableAttackUnit(AttackUnit, Flyable): #์ด์ค์
def __init__(self, name, hp, damage, flying_speed):
AttackUnit.__init__(self, name, hp, damage)
Flyable.__init__(self, flying_speed)
#๋ฐํค๋ฆฌ : ๊ณต์ค ๊ณต๊ฒฉ ์ ๋, ํ ๋ฒ์ 14๋ฐ ๋ฏธ์ฌ์ผ ๋ฐ์ฌ
valkyrie = FlyableAttackUnit("๋ฐํค๋ฆฌ", 200, 6, 5)
valkyrie.fly(valkyrie.name, "3์")
ใ ใ ,,,,,,
์ด๋ ต๋ค