[Python]행맨 게임

파이썬을 이용하여 행맨 게임을 만들어보자.

# 파이썬으로 행맨(Hangman) 만들기

import time
import csv
import random
import winsound

# 처음 인사
name = input("이름을 입력하세요: ")
print(f"만나서 반가워요. {name}")
print()

time.sleep(1)
print("게임 로딩중...")
print()
time.sleep(0.5)

# CSV 단어 리스트
words = []
# 문제파일 로드
with open("./resource/word_list.csv", 'r') as f:
    reader = csv.reader(f)
    next(reader)  # header는 건너뛰기
    for c in reader:
        words.append(c)

# 리스트 섞기
random.shuffle(words)
choice = random.choice(words)

# 정답
word = choice[0].strip()

# 추측단어
guesses = ""

# 기회
turns = 10

# 핵심코드
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("축하합니다. 정답입니다.")
        break

    print()

    # 추측단어 문자단위 입력
    print('힌트 : {}'.format(choice[1].strip()))
    guess = input("생각하고 있는 단어를 입력하세요 : ")

    # 단어더하기
    guesses += guess

    # 정답 단어에 추측한 문자가 포함되어 있지 않으면,
    if guess not in word:
        turns -= 1
        print("오답입니다.")
        print(f"{turns}번의 기회가 남았습니다.")

    if turns == 0:
        # 실패매시지 출력
        winsound.PlaySound('./sound/bad.wav', winsound.SND_FILENAME)
        print("당신은 행맨 게임에 졌습니다.")

You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다