티스토리 뷰

즐거운 코딩 시간입니다 !

 

이번 개발 주제는 '행맨' 게임이구요.

 

행맨 게임은 다들 아시겠지만 아주 유명한 단어 퀴즈 프로그램입니다. 어떤 단어가 주어지면 그 단어의 길이만큼 빈 칸(밑줄) 이 주어지고 플레이어는 알파벳을 하나씩 얘기하면서 단어를 추측하는데요, 10번만에 맞히지 못하면 게임이 끝납니다. 

 

 

보통 모음(a e i o u) 을 먼저 시도해보고 나서 자음으로 넘어가는 것이 일반적인 전략이라고 알고 있어요 ㅋㅋ

 

 

 

예를 들면 이런 식입니다.

 

커피(COFFEE)라는 단어가 주어진다면, 밑줄은 총 6개가 생기겠죠.

_ _ _ _ _ _

 

 

그럼 플레이어는 알파벳을 하나 얘기해봅니다.

 

 

 

 

E 를 해볼까요?

 

만약 E 가 단어에 포함돼있다면, 해당하는 위치에 E 를 표시해줍니다.

 

_ _ _ _ E E

 

이렇게 되겠네요.

 

 

 

 

이번에는 A 를 해볼까요?

 

A 는 포함되지 않으므로 기회가 줄어들고 지금까지 맞힌 내용 그대로 출력합니다.

 

_ _ _ _ E E

 

변화가 없지요.

 

 

 

 

이번에는 C 를 해봅시다.

 

그럼 

 

C _ _ _ E E

 

다음에는 F 를

 

C _ F F E E

 

마지막으로 O 를 해보면

 

C O F F E E 

 

로 게임은 성공으로 끝나게 됩니다.

 

 

 

 

파이썬으로 이 게임을 만들어 볼 텐데요, 자세한 내용은 이렇습니다.

 

  

  

 

이 내용을 소스코드로 만들어보면 아래와 같습니다.

 

각 줄마다 주석을 달아놨고, 제시 단어는 apple, banana, orange 정도로 해 두었습니다.

 

from random import * # 랜덤 모듈 import
words = ["apple", "banana", "orange"] # 리스트에 영어 단어 후보를 나열
word = choice(words) # 랜덤으로 단어 중 1개를 선택
print("answer : " + word) # 참고용으로 정답 출력 (실제 게임에서는 지우기)
letters = "" # 플레이어가 지금까지 입력한 알파벳들 저장

# 정답을 맞힐 때까지 무한 반복
while True:         
    succeed = True # 성공 여부 확인 변수
    print()
    for w in word: # 제시 단어를 알파벳별로 한 글자씩 비교
        if w in letters: # 현재 알파벳이 플레이어가 입력한 값들 중에 있으면 
            print(w, end=" ") # 그 알파벳을 표시
        else: # 입력한 값들 중에 없으면
            print("_", end=" ") # 밑줄을 표시
            succeed = False # 밑줄이 있다는 것은 아직 다 풀지 못했음을 의미 !
    print()

    if succeed: # 만약 성공했다면 게임 종료
        print("Success")
        break
     
    letter = input("Input letter > ") # 플레이어로부터 한 글자씩 입력
    if letter not in letters: # 입력값 중에 포함되어 있지 않다면
        letters += letter # 새로 입력받은 글자를 입력값에 추가

    if letter in word: # 입력한 글자가 제시 단어에 포함되었다면
        print("Correct")
    else: # 포함되어있지 않다면
        print("Wrong")

        


게임을 실행해보면 이런 모습이에요 ^^

 

 

 

자세한 설명은 아래 영상을 통해 공부해주세요 ^^ 

 

 

 

감사합니다.

 

 

 

[나도코딩] 파이썬 기본편 - 소개

이 강의는 파이썬 기본편 강의입니다. 환경설정부터 모듈/패키지까지, 파이썬 사용을 위해 알아야 할 모든 내용을 단기간에 알려드립니다. ▶ 왜 배워야 하나요? Stack Overflow 설문 응답에�

nadocoding.tistory.com

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함