๊ณต๋ถํ ๊ฒ์ ๋ง๊ณ ,
์ดํด๋ ์ ์๋๊ณ ,
์ ๋ฆฌํ๊ธฐ์ ์ด๋ ต๊ธฐ์,
ํ๊ธฐ๋ฅผ ๊ทธ๋ฅ ๋ณต๋ถํฉ๋๋ค.
#์ผ๋ฐ์ ๋
class Unit: #๋ถ๋ชจ ํด๋์ค
def __init__(self, name, hp, speed):
self.name = name
self.hp = hp
self.speed = speed
def move(self, location):
print("[์ง์ ์ ๋ ์ด๋]")
print("{0} : {1} ๋ฐฉํฅ์ผ๋ก ์ด๋ํฉ๋๋ค. [์๋ {2}]"\
.format(self.name, location, self.speed))
class AttackUnit(Unit): #์์ ํด๋์ค
def __init__(self, name, hp, speed, damage):
Unit.__init__(self, name, hp, speed)
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))
# ๋๋์ฝ: ๊ณต์ค ์ ๋, ์์ก๊ธฐ. ๋ง๋ฆฐ / ํ์ด์ด๋ฑ / ํฑํฌ ๋ฑ์ ์์ก. ๊ณต๊ฒฉ ๊ธฐ๋ฅ 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, 0, damage) #์ง์ ์คํผ๋๋ 0์ผ๋ก ์ฒ
Flyable.__init__(self, flying_speed)
def move(self, location):
print("[๊ณต์ค ์ ๋ ์ด๋]")
self.fly(self.name, location)
# ์์ ํด๋์ค์ ๋งค์๋๋ฅผ ์ฐ๊ณ ์ถ์๋ ์ค๋ฒ๋ผ์ด๋ฉ์ด๋ผ๊ณ ํจ
#๋ฒ์ณ : ์ง์ ์ ๋, ๊ธฐ๋์ฑ์ด ์ข์
vulture = AttackUnit("๋ฒ์ณ", 80, 10, 20)
#๋ฐฐํ ํฌ๋ฃจ์ : ๊ณต์ค ์ ๋, ์ฒด๋ ฅ ์ข๊ณ , ๊ณต๊ฒฉ๋ ฅ๋ ์ข์
battlecruiser = FlyableAttackUnit("๋ฐฐํํฌ๋ฃจ์ ", 500, 25, 3)
vulture.move("11์")
battlecruiser.move("9์")
'Coding > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[python] ํ์ด์ฌ์ผ๋ก ๋ง๋ ์คํํฌ๋ํํธ (0) | 2021.11.03 |
---|---|
[python] ํด๋์ค(pass, super) (0) | 2021.11.03 |
[python] ํด๋์ค(๋ค์ค์์) (0) | 2021.11.03 |
[python] ํด๋์ค(ํด๋์ค, __init__, ๋ฉค๋ฒ๋ณ์) (0) | 2021.11.01 |
[python] ์ ์ถ๋ ฅ(ํ์ค์ ์ถ๋ ฅ, ๋ค์ํ ์ถ๋ ฅํฌ๋งท, ํ์ผ์ ์ถ๋ ฅ, pickle, with) (0) | 2021.10.24 |