728x90
반응형
간단한 RPG 게임. 어렵다 ㅋㅋㅋ
엘든링 같은 게임 만드는 사람들은 신이야
import random
class Player:
def __init__(self, name, health, strength, defense):
self.name = name
self.health = health
self.strength = strength
self.defense = defense
def attack(self, monster):
damage = self.strength - monster.defense
if damage < 0:
damage = 0
monster.health -= damage
print(f"{self.name}은(는) {monster.name}에게 {damage}의 피해를 입혔다!")
def defend(self):
self.defense += 5
print(f"{self.name}은(는) 방어를 사용하여 방어력이 5 증가하였다!")
def rest(self):
self.health += 10
print(f"{self.name}은(는) 휴식을 취하여 체력이 10 회복되었다.")
def is_alive(self):
return self.health > 0
class Monster:
def __init__(self, name, health, strength, defense):
self.name = name
self.health = health
self.strength = strength
self.defense = defense
def attack(self, player):
damage = self.strength - player.defense
if damage < 0:
damage = 0
player.health -= damage
print(f"{self.name}은(는) {player.name}에게 {damage}의 피해를 입혔다!")
def is_alive(self):
return self.health > 0
def create_monster():
monsters = [
("슬라임", 10, 2, 0),
("고블린", 20, 4, 1),
("트롤", 30, 6, 2),
("드래곤", 50, 10, 5)
]
name, health, strength, defense = random.choice(monsters)
return Monster(name, health, strength, defense)
def main():
player_name = input("플레이어 이름을 입력하세요: ")
player = Player(player_name, 30, 5, 2)
while True:
monster = create_monster()
print(f"{monster.name}이(가) 나타났습니다!")
while player.is_alive() and monster.is_alive():
action = input("어떤 행동을 하시겠습니까? (공격, 방어, 휴식) ")
if action == "공격":
player.attack(monster)
elif action == "방어":
player.defend()
elif action == "휴식":
player.rest()
else:
print("잘못된 입력입니다.")
continue
if monster.is_alive():
monster.attack(player)
if player.is_alive():
print(f"{player.name}은(는) {monster.name}을(를) 물리쳤습니다!")
else:
print(f"{player.name}은(는) {monster.name}에게 격렬한 공격을 받아 죽었습니다...")
break
if __name__ == "__main__":
main()
반응형