“코딩은 재미없다?”
파이썬으로 간단한 게임을 만들다 보면 오히려 더 몰입되고 재미있게 배울 수 있어요!
이번 글에서는 비전공자도 쉽게 만들 수 있는 텍스트 기반 파이썬 게임 예제를 제공합니다.
파이썬으로 게임을 만들 수 있나요?
물론입니다!
파이썬은 pygame
, tkinter
같은 그래픽 라이브러리도 있지만,
오늘은 텍스트 기반 게임으로 기초 문법을 연습하고 로직 흐름을 이해해보는 데 집중합니다.
🎮 추천 대상: 파이썬 입문 1~2주차 수준의 학습자
게임 기획: 숫자 맞히기 게임
목표: 컴퓨터가 생성한 1~100 사이의 숫자를 사용자가 맞히기
요소:
- 난수 생성
- 사용자 입력
- 반복문과 조건문
- 승리 조건 처리
1단계: 난수 생성 및 입력 받기
“`python
import random
answer = random.randint(1, 100)
“`
random.randint(1, 100)
: 1~100 사이의 난수 생성input()
함수로 사용자로부터 숫자 입력 받기
2단계: 조건문 및 힌트 출력
“`python
while True:
guess = int(input(“숫자를 입력하세요 (1~100): “))
if guess < answer:
print(“업! 더 큰 숫자입니다.”)
elif guess > answer:
print(“다운! 더 작은 숫자입니다.”)
else:
print(“정답입니다!”)
break
“`
🧩 팁:
int(input())
을 사용할 때는 항상 숫자 입력을 가정해야 합니다. 잘못된 입력 예외 처리는 다음 단계에서!
3단계: 예외 처리 및 시도 횟수 세기
“`python
attempts = 0
while True:
try:
guess = int(input(“숫자를 입력하세요: “))
attempts += 1
if guess < answer:
print(“업!”)
elif guess > answer:
print(“다운!”)
else:
print(f”정답입니다! {attempts}번 만에 맞췄어요.”)
break
except ValueError:
print(“숫자만 입력해 주세요.”)
“`
try-except
구문으로 비정상 입력 방어attempts
변수로 시도 횟수 기록
확장 아이디어 💡
| 기능 | 구현 방식 |
|——|———-|
| 최고 기록 저장 | json
또는 txt
파일로 로컬 저장 |
| 시간 제한 | time.time()
활용 |
| UI 버전 업그레이드 | tkinter
, pygame
활용 |
🖼️ 게임 UI 이미지 ALT 예시 위치:
게임 코드 전체 정리
“`python
import random
answer = random.randint(1, 100)
attempts = 0
print(“🎮 숫자 맞히기 게임 시작! (1~100 사이)”)
while True:
try:
guess = int(input(“입력: “))
attempts += 1
if guess < answer:
print(“업!”)
elif guess > answer:
print(“다운!”)
else:
print(f”정답입니다! 시도 횟수: {attempts}”)
break
except ValueError:
print(“⚠ 숫자를 입력해 주세요.”)
“`
추가 게임 예제 추천
- 가위바위보 게임
- 미니 퀴즈 게임
- 숫자 야구 게임
- 타자 연습 게임 (시간 측정)
참고자료
마무리
작은 게임을 만들면서도 조건문, 반복문, 예외 처리, 변수 관리 등 핵심 개념을 자연스럽게 익힐 수 있습니다.
게임을 만든다는 목표는 지루한 문법 공부보다 훨씬 동기 부여가 크기 때문에 비전공자에게도 최고의 연습 방식입니다.
오늘 만든 숫자 맞히기 게임을 살짝만 바꾸면 다양한 미니게임으로 확장할 수 있어요!
🔎 다음 포스팅 주제 추천
→ 18번: 나도 할 수 있는 크롤링: 파이썬으로 시작하기
→ 29번: Django로 웹앱 만들기 입문 강좌
참고자료
- https://docs.python.org/ko/3/
- https://replit.com/languages/python3