[파이썬] pygame 게임 내 화폐 및 상점 시스템

이 블로그 포스트에서는 Python의 Pygame 라이브러리를 사용하여 게임 내에서 화폐 및 상점 시스템을 구현하는 방법을 알아보겠습니다.

필요한 모듈 설치

Pygame을 사용하기 위해서는 먼저 Pygame 모듈을 설치해야 합니다. 다음 명령을 사용하여 Pygame을 설치할 수 있습니다.

pip install pygame

게임 내 화폐 시스템 구현

게임 내에서 화폐를 사용하기 위해서는 다음과 같은 요소가 필요합니다.

  1. 화폐의 양을 저장할 변수
  2. 화면에 화폐를 표시할 텍스트
  3. 화폐를 추가하거나 감소시킬 수 있는 함수

변수 설정

# 화폐 변수 선언
money = 0

텍스트 표시

Pygame에서는 pygame.font 모듈을 사용하여 텍스트를 표시할 수 있습니다. 다음과 같은 방법으로 화면에 텍스트를 표시할 수 있습니다.

import pygame
pygame.init()

# 텍스트 색상 정의
WHITE = (255, 255, 255)

# 폰트 설정
font = pygame.font.Font(None, 36)

# 화면에 텍스트 표시
text = font.render(f"Money: {money}", True, WHITE)
screen.blit(text, (10, 10))

화폐 조작 함수

화폐를 추가하거나 감소시키는 함수를 구현해야 합니다.

def add_money(amount):
    global money
    money += amount

def subtract_money(amount):
    global money
    if money >= amount:
        money -= amount
    else:
        print("Not enough money!")

# 사용 예시
add_money(100)
subtract_money(50)

상점 시스템 구현

게임 내에서 아이템을 구매할 수 있는 상점 시스템을 구현하기 위해서는 다음과 같은 요소가 필요합니다.

  1. 상점에 판매할 아이템 목록
  2. 상점에서 아이템을 구매하는 함수
  3. 상점 창을 표시하거나 숨기는 함수

아이템 목록

# 상점에 판매할 아이템 목록
shop_items = [
    {
        "name": "Health Potion",
        "price": 50
    },
    {
        "name": "Sword",
        "price": 100
    },
    {
        "name": "Armor",
        "price": 200
    }
]

구매 함수

def buy_item(item_index):
    global money
    if item_index < len(shop_items):
        item = shop_items[item_index]
        if money >= item["price"]:
            money -= item["price"]
            print(f"Bought {item['name']}!")
        else:
            print("Not enough money!")
    else:
        print("Invalid item index!")

# 사용 예시
buy_item(0)

상점 창 표시하기

def show_shop():
    # 필요한 코드 작성
    pass

def hide_shop():
    # 필요한 코드 작성
    pass

결론

이러한 방법으로 Pygame을 사용하여 게임 내에서 화폐 및 상점 시스템을 구현할 수 있습니다. 이를 통해 플레이어가 게임 내에서 돈을 관리하고 아이템을 구매할 수 있게 됩니다.