행멘 게임 단계별로 만들기 실습 (4)
*구현 내용: 기입한 값에 의한 행맨 상태 변화 그림 보여주기 + 오답 기입 시 유저의 목숨 -1, 목숨 0개면 게임 종료
import random
#행맨의 상태를 보여줄 그림
stages = ['''
+---+
| |
O |
/|\ |
/ \ |
|
=========
''', '''
+---+
| |
O |
/|\ |
/ |
|
=========
''', '''
+---+
| |
O |
/|\ |
|
|
=========
''', '''
+---+
| |
O |
/| |
|
|
=========''', '''
+---+
| |
O |
| |
|
|
=========
''', '''
+---+
| |
O |
|
|
|
=========
''', '''
+---+
| |
|
|
|
|
=========
''']
end_of_game = False
word_list = ["ardvark", "baboon", "camel"]
chosen_word = random.choice(word_list)
#목숨의 기본 값을 6으로 설정
lives = 6
#Testing code
print(f'Pssst, the solution is {chosen_word}.')
blank = []
for i in range(0, len(chosen_word)):
i = "_"
blank += i
while not end_of_game:
guess = input("Guess a letter: ").lower()
for i in range(0, len(chosen_word)):
letter = chosen_word[i]
if letter == guess:
blank[i] = letter
#list 형식이었던 blank를 문자열로 변환해주기 (.join 함수 => ' '.join(리스트))
print(f"{' '.join(blank)}")
#chosen_word에 없는 문자를 입력했을 때, 목숨 1개를 잃게 하고
#목숨이 0개 남았을 때 게임이 종료되게 하기.
if guess not in chosen_word:
lives -= 1
if lives == 0:
end_of_game = True
print("You lose.")
if "_" not in blank:
end_of_game = True
print("You win.")
#남은 목숨에 따라 행맨의 그림이 변화하게 하기
print(stages[lives])
'python' 카테고리의 다른 글
[python] #연습문제 - caesar code 생성하기 (0) | 2024.06.01 |
---|---|
[python] 소수 찾기 (0) | 2024.06.01 |
[python] #행맨 게임 (3) - 빈칸이 남아있지 않을 때까지 정답을 입력하기 (0) | 2024.06.01 |
[python] #행맨 게임 (2) - 빈칸을 정답 글자로 변환하기 (0) | 2024.06.01 |
[python] #행맨 게임 (1) - 입력한 값이 문자열에 존재하는지 확인하기 (0) | 2024.06.01 |