기타 지식

파이썬으로 행맨 게임 만들기

즐거운 코딩 시간입니다 !

 

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

 

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

 

3.jpg

 

보통 모음(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 

 

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

 

 

 

 

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

 

1.png

  

  

 

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

 

4.png

 

 

각 줄마다 주석을 달아놨고, 제시 단어는 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")
        


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

 

 

 

보다 상세한 설명이 필요하신 분들은 아래 영상을 통해서 공부해주세요~

 

 

 

감사합니다.

35개의 댓글

2020.08.28

ㅋㅋㅋㅋㅋㅋ 귀엽다

0
2020.08.28
@호봉개드리퍼

아 물론 행맨그림

0
2020.08.28
@호봉개드리퍼

좋다 말았네

0

팩맨인줄 알고 들어와서 ㅂㅁ ㅡㅡ

0
2020.08.28
@야너도자위중이냐

오 팩맨?! 만들어볼까나 ㅋㅋㅋ

0
@나코

사실 추천 박았음. 팩맨도 만들어줘~~~~

0
2020.08.28
@야너도자위중이냐

오케바링 ㅋㅋㅋ 과연 텍스트로 어떻게 비벼볼수 있을진 몰겠지만 고민해볼게 ㅋㅋㅋ

0
[삭제 되었습니다]
2020.08.28
@닥터후아크바르

ㅋㅋㅋ 감사합니다 ^^

0

프로그래밍 언어로 게임 만들기 특) 게임아님

농담이고 설명 잘하시네요 재밌게봤습니다

3
2020.08.28
@딥러닝학부연구생

딥러닝 하시는 분 ㄷㄷㄷ 멋져요 ㅋㅋ

0
2020.08.28

행맨 그림까지 텍스트로 잘 그렸으면 추천인데 아깝..

그리고 행맨을 진짜 만드려면 라이프도 잇고 겜 오버도 잇어야징

0
2020.08.28
@숨은음은

ㅋㅋ 인정!! 담엔 텍스트로 그림도 한번 그려볼게 ㅋㅋㅋ

0
2020.08.28

아저씨 이걸 2018년에 올리셨어야죠 교양팀플과제였ㄴ는데!

0
2020.08.28
@드럼을잘치자

?? 아직 재학중이면 재수강 해요 ㅋㅋㅋ

0
2020.08.28

파이썬 독학에 큰 도움이 됩니다. 감사합니다.

 

 

그리고 혹시 제가 정보보안 쪽으로 진로를 생각하고있는데 어떤 학과를 가야하는지, 어떤 공부를 가야하는지와 같은 것에 대한 팁이 있으시다면 알려주시면 감사하겠습니다.

0
2020.08.28
@유즈리하

난 그쪽까지는 명확히 몰라도 개발자하고 있는디 정보보안이면 파이썬 안쓸거임

0
2020.08.28
@유즈리하

정보보안이래도 일단은 기본적으로 컴퓨터에 대한 배경지식이 필요하지요 ^^ 요기 설명 참고하세요~

https://m.blog.naver.com/cdh0584/221975593682

0
2020.08.28

선생님 스크래핑 잘배웠습니다 감삼다 ^^ 이거도 잘 보겠슴다

0
2020.08.28
@asaid

^^ 이건 짧은거니 가벼운 맘으로 보세요~

0

우리학교 소프트웨어과목에서 배웠던거네 ㅋㅋㅋ

0
2020.08.29
@스미스의유기화학

앗 ㅋ 워낙 유명한 겜이라 그런가봐요. 담엔 뭘 만들지..

0
2020.08.29

퍼스트퀸4같은 게임은 안됨? 와룡전 같은게임이나

안되겠지?

0
2020.08.29
@dhejrtlfj

?? 안되는게 어딨어~~ 플밍은 하고싶은거 모두 가능!! 근데 그래픽이 들어가는거면 이렇게 간단한 코드로는 어렵지 ㅋ

0
2020.08.29
@나코

만들어줘

0
2020.08.29
@dhejrtlfj

돈 줘

0
2020.08.29
@나코

아잉 만들어줭 ㅋ

0
2020.08.29

이 글을 보니 지난학기에 들었던 파이썬 교양이 생각났읍니다....

다시 파이썬 겉핥기 들어갑니다잉

0
2020.08.29
@이나온주사위

교양으로 파이썬을 가르치네요. 프로젝트는 어떤걸 하나요?

0
2020.08.29
@나코

문돌이 교양이라서 학기 초에는 간단한 변수 설정이나 문법같은거 배웠고 학기말에는 약간 응용해서 본문에 나온 랜덤을 이용한 주사위 게임이나 def같은거를 조금 써먹었어요

0
2020.08.29
@이나온주사위

ㅋㅋ 막 엄청 어려운걸 다루진 않았네요! 적당한 난이도로 보입니다 ^^ 답변 고마워요~~

0
2020.08.29

넘모좋당. 나코. 구독했다. 업무에 활용하는 코딩도 만들어주셈.

0
2020.08.29
@헛소리를

Yes sir !!

0
2020.08.29

나 질문!!

from random import *

import random

이 두개 차이점 좀ㅠㅠㅠ

 

그리고

from numpy import dot 처럼 왜 하는거야? 그냥 import numpy로 다 불러들이면 안돼??

프로그램이 무거워지나..? 나 비전공자인데 혹시 설명 해줄 수 있을까?? 고마워엉~!!

0
2020.09.06

그래서 이분이 개드립 최대 아웃풋 맞죠?

0
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜
5242 [기타 지식] 100년을 시간을 넘어서 유행한 칵테일, 사제락편 - 바텐더 개... 1 지나가는김개붕 0 12 시간 전
5241 [기타 지식] 오이...좋아하세요? 오이 칵테일 아이리쉬 메이드편 - 바텐더... 3 지나가는김개붕 2 2 일 전
5240 [기타 지식] 웹툰 나이트런의 세계관 및 설정 - 지구 1부 26 Mtrap 7 1 일 전
5239 [기타 지식] 칵테일의 근본, 올드 패션드편 - 바텐더 개붕이의 술 이야기 15 지나가는김개붕 13 2 일 전
5238 [기타 지식] 웹툰 나이트런의 세계관 및 설정 - 인류 2부 20 Mtrap 12 2 일 전
5237 [기타 지식] 웹툰 나이트런의 세계관 및 설정 - 인류 1부 13 Mtrap 18 2 일 전
5236 [기타 지식] 서부 개척시대에 만들어진 칵테일, 카우보이 그리고 프레리 ... 3 지나가는김개붕 5 7 일 전
5235 [기타 지식] 모던 클래식의 현재를 제시한 칵테일편 - 바텐더 개붕이의 술... 4 지나가는김개붕 2 8 일 전
5234 [기타 지식] 브라질에서 이 칵테일을 다른 술로 만들면 불법이다, 카이피... 5 지나가는김개붕 1 9 일 전
5233 [기타 지식] 럼, 라임, 설탕 그리고 다이키리 편 - 바텐더 개붕이의 술 이... 2 지나가는김개붕 6 10 일 전
5232 [기타 지식] 1999년 도카이촌 방사능누출사고 대량 방사능 피폭 피해자들 ... 9 ASI 5 11 일 전
5231 [기타 지식] 진짜 레시피는 아무도 모르는 칵테일 싱가포르 슬링편 - 바텐... 3 지나가는김개붕 2 11 일 전
5230 [기타 지식] 통계로 보는 연애 상황에서 외모의 중요성 8 개드립에서가장긴... 11 13 일 전
5229 [기타 지식] 추울 수록 단맛이 유행한다, 위스콘신 스타일 올드 패션드편 ... 1 지나가는김개붕 8 15 일 전
5228 [기타 지식] '얼마나 걸릴까?'를 찾는데 걸린 시간은.. 1 동부전선이상무 5 15 일 전
5227 [기타 지식] '누구나 아는' 노래에 대한 이야기 9 동부전선이상무 20 19 일 전
5226 [기타 지식] 알코올 중독에 빠질 수 있는 칵테일, 브랜디 알렉산더편 - 바... 2 지나가는김개붕 5 22 일 전
5225 [기타 지식] 세계에서 제일 잘 팔리는 칵테일 중 하나, 위스키 사워편 - ... 2 지나가는김개붕 3 22 일 전
5224 [기타 지식] 왜 나는 독일을 포기하고 캐나다로 왔는가 32 상온초전도체 20 22 일 전
5223 [기타 지식] 독한 칵테일의 대표, 파우스트편 - 바텐더 개붕이의 술 이야기 5 지나가는김개붕 3 23 일 전