Backend/Python
파이썬 - 행맨(Hangman) 미니 게임 제작하기
meong_j
2021. 9. 17. 14:31
728x90
반응형
파이썬으로 행맨 게임 만들기
- 기본 프로그램 제작 및 테스트
[간략 소개]
- word_list.csv 파일 랜덤으로 읽어서 맞출 단어 저장
- 단어 개수, 힌트 출력 후 정답 맞추기
- 영어 철자 맞추면 공개
- 10번 기회 안에 맞출 시 띵-동 사운드 나면서 정답처리
- 실패시 fail 사운드 나면서 게임 종료
import time
# CSV 처리
import csv
# 랜덤
import random
# 사운드 처리
import winsound
# 처음 인사
name = input("What's your name? ")
print("Hi, "+ name, "Time to play Hangman game!")
print()
time.sleep(1)
print("Start Loading....")
print()
time.sleep(0.5)
# CSV 단어 리스트
words = []
# 문제 CSV 파일 로드
with open('./resource/word_list.csv','r') as f:
reader = csv.reader(f)
#헤더스킵
next(reader)
for c in reader:
words.append(c) #리스트로 삽#
#리스트 섞기
random.shuffle(words)
q = random.choice(words)
# 정답 단어
word = q[0].strip() #0번째 단어 공백제거
# 추측 단어
guesses = ''
# 기회
turns = 10
# 핵심 while Loop
# 찬스 카운트가 남아 있을 경우
while turns > 0:
# 실패 횟수(단어 매치 수)
failed = 0
#정답 단어 반복
for char in word:
# 정답 단어 내에 추측 문자가 포함되어 있는 경우
if char in guesses:
#추측 단어 출력
print(char, end=' ')
else:
#틀린 경우 대시로 처리
print("_", end=' ')
failed += 1
# 단어 추측이 성공한 경우
if failed == 0:
print()
print()
#성공 사운드
winsound.PlaySound('./sound/good.wav', winsound.SND_FILENAME)
print('Congratulations! The guesses is correct!!')
#while구문 중단
break
print()
# 추측 단어 글자 단위 입력
print()
print('Hint : {}'.format(q[1].strip()))
guess = input("guess a charater.")
# 단어 더하기
guesses += guess
# 정답 단어에 추측된 문자가 포함되어 있지 않으면
if guess not in word:
# 기회 횟수 감소
turns -= 1
#오류 메시지
print("Opps! Wrong!")
#남은 기회 출력
print("You have", turns, 'more guesses')
if turns == 0:
#실패 사운드
winsound.PlaySound('./sound/bad.wav', winsound.SND_FILENAME)
# 실패 메시지
print("You Hangman game failed . Bye~")
[게임 실행 결과]
반응형