728x90
반응형
SMALL
import random
# 플레이어 클래스 정의
class Player:
def __init__(self, name):
self.name = name
self.items = []
def add_item(self, item):
self.items.append(item)
def __str__(self):
return self.name
# 방 클래스 정의
class Room:
def __init__(self, name, description, items):
self.name = name
self.description = description
self.items = items
def __str__(self):
return self.name
# 게임 초기화
def initialize_game():
player_name = input("플레이어 이름을 입력하세요: ")
player = Player(player_name)
# 방 생성
kitchen = Room("부엌", "맛있는 음식이 담긴 부엌입니다.", ["칼", "가스레인지"])
bedroom = Room("침실", "잠을 자기에 적합한 침실입니다.", ["침대", "옷장"])
living_room = Room("거실", "편안한 소파가 있는 거실입니다.", ["TV", "커피 테이블"])
# 방과 초기 아이템 배치
rooms = [kitchen, bedroom, living_room]
current_room = random.choice(rooms)
player.add_item(random.choice(current_room.items))
return player, current_room
# 게임 실행
def play_game():
player, current_room = initialize_game()
print(f"게임을 시작합니다. 당신은 {player}입니다.")
while True:
print("\n---------------------------")
print(f"{current_room.name}에 있습니다.")
print(current_room.description)
print(f"이 방에는 {', '.join(current_room.items)}이(가) 있습니다.")
action = input("무엇을 하시겠습니까? (이동/아이템): ").lower()
if action == "이동":
# 다음 방으로 이동
rooms = [room for room in [kitchen, bedroom, living_room] if room != current_room]
current_room = random.choice(rooms)
player.add_item(random.choice(current_room.items))
elif action == "아이템":
# 플레이어의 아이템 출력
print(f"{player}의 아이템: {', '.join(player.items)}")
else:
print("올바른 행동을 선택하세요.")
# 게임 실행
play_game()
728x90
반응형