반복문과 조건문을 활용한다~~
행맨게임을 만들어볼거시다 이렇게
아주 간단하긔
단어를 생성하고 플레이어에게 글자를 입력받는다
import random
word_list = ["aardvark", "baboon", "camel", "octopus"]
chosen_word = random.choice(word_list)
word_length = len(chosen_word)
user_guess = []
for _ in range(word_length):
user_guess += "_"
guess = input("알파벳을 하나 입력하세요 : ").lower()
random.choice
: 리스트의 원소 중 하나 선택import random
word_list = ["aardvark", "baboon", "camel", "octopus"]
chosen_word = random.choice(word_list)
word_length = len(chosen_word)
user_guess = []
for _ in range(word_length):
user_guess += "_"
guess = input("알파벳을 하나 입력하세요 : ").lower()
for idx, letter in enumerate(chosen_word):
if letter == guess:
print("right")
print(idx)
user_guess[idx] = letter
else:
print("wrong")
print(user_guess)
enumerate
이용하여 리스트의 인덱스와 값을 사용한다.while 이용하여 플레이어가 입력한 문자가 모두 맞을 때까지 반복한다.
#Step 1
import random
word_list = ["aardvark", "baboon", "camel", "octopus"]
chosen_word = random.choice(word_list)
word_length = len(chosen_word)
user_guess = []
gameOver = False
for _ in range(word_length):
user_guess += "_"
while not gameOver:
guess = input("알파벳을 하나 입력하세요 : ").lower()
for idx, letter in enumerate(chosen_word):
if letter == guess:
print("right")
print(idx)
user_guess[idx] = letter
else:
print("wrong")
print(user_guess)
if "_" not in user_guess:
gameOver = True
if...in 리스트
이용하여 플레이어의 리스트에 빈칸이 남아있는지 확인한다.라이프 개수는 6부터 시작한다.
import random
word_list = ["aardvark", "baboon", "camel", "octopus"]
chosen_word = random.choice(word_list)
word_length = len(chosen_word)
user_guess = []
gameOver = False
life = 6
for _ in range(word_length):
user_guess += "_"
while not gameOver:
guess = input("알파벳을 하나 입력하세요 : ").lower()
for idx, letter in enumerate(chosen_word):
if letter == guess:
user_guess[idx] = letter
# 플레이어의 알파벳이 틀린 경우 라이프 차감
if guess not in chosen_word:
life -= 1
# 라이프가 0되면 게임 오버
if life == 0:
gameOver = True
print("you lose")
if "_" not in user_guess:
gameOver = True
print("you win")
print(user_guess)
# 행맨 그림 출력
print(f"{stages[life]}")
from ... import
이용하여 단어 리스트 업데이트hangman.py 와 hangman_ui.py, hangman_words.py는 같은 폴더 내에 위치한다.
hangman.py
import random
# 1. from ... import 이용하여 단어 리스트 업데이트
from hangman_words import word_list
# 2. 행맨 UI 추가하기
from hangman_ui import stages, logo
chosen_word = random.choice(word_list)
word_length = len(chosen_word)
user_guess = []
# 3. 플레이어가 이미 맞춘 알파벳 다시 입력하면 알려주기
guess_set = set()
gameOver = False
life = 6
# 2. 게임 시작 전 행맨 로고 출력
print(f"{logo}")
for _ in range(word_length):
user_guess += "_"
while not gameOver:
guess = input("알파벳을 하나 입력하세요 : ").lower()
for idx, letter in enumerate(chosen_word):
if letter == guess:
user_guess[idx] = letter
if guess not in chosen_word:
life -= 1
# 4. 알려주기
print("단어 내에 존재하지 않는 철자입니다")
if life == 0:
gameOver = True
print("you lose")
print(f"{' '.join(user_guess)}")
if "_" not in user_guess:
gameOver = True
print("you win")
# 2. 행맨 UI 추가하기 - 목숨 수 알려주는 그림
print(f"{stages[life]}")
이렇다.