Python을 사용한 매우 쉬운 행맨 게임

여보세요. 저는 이제 막 Python을 배우기 시작했고, 이 작은 행맨 게임을 통해 잠시 동안 제가 알고 있는 것을 실행에 옮기고 싶습니다.
이 예제에서는 다른 유형의 변수와 루프 "while"및 "for"및 조건문만 사용합니다.
잠시 동안 함수는 없고 Python에 대한 기본 지식만 있습니다.
그럼 가자...

모두 행맨 게임 방법을 알고 있지만 여기서 규칙을 기억하고 Python 코드로 변환하겠습니다.

1) 임의의 단어가 필요합니다.
그래서 hangman.py 파일을 만들고 Python에서 임의의 라이브러리를 가져오고 가변 단어 유형 문자열을 만듭니다. 이를 위해 random words generator on ligne을 사용합니다.

import random

words = "shave pin committee protest mainstream heaven respect precedent failure smell opposed paper translate place crutch flash frog conference koran put ex frighten plane crude innocent doubt minor looting different testify elite tired officer blame objective swim acid book judicial professional stereotype ankle visual trance rib church ride facade cool recover"


잠시 동안 단어는 큰 문자열이지만 추측할 단어를 선택하려면 각 단어가 별도로 필요합니다. 단어 문자열에서 목록을 만들려면 무작위 색인과 해당 단어를 추출한 후 split() 메서드를 사용합니다.

import random

words = "shave pin committee protest mainstream heaven respect precedent failure smell opposed paper translate place crutch flash frog conference koran put ex frighten plane crude innocent doubt minor looting different testify elite tired officer blame objective swim acid book judicial professional stereotype ankle visual trance rib church ride facade cool recover"
list_words = words.split()
#print(list_words)
secret_index = random.randint(0, len(list_words)-1)
print(secret_index)
secret_word = list_words[secret_index]
print(secret_word)




2) 단어의 각 문자와 생명의 수에 대한 빈 줄
이제 secret_word의 각 문자를 ligne으로 바꿔야 하고 플레이어가 몇 번이나 잘못될 수 있는지 생명의 수를 정의해야 합니다. 이를 위해 사전을 사용합니다.

hangman={
    'secret_word': secret_word,
    'guess_word': '_' * len(secret_word),
    'lifes': 9,
}
print(f"{hangman['guess_word']}")
print(f"lifes: {hangman['lifes']}")




3) 글자 추측 시작
이를 위해 문자를 입력해야 합니다.letter = input("Give my your letter: ")
4) **
플레이어의 추측이 맞다면 빈칸에 문자를 채우세요**
이 메커니즘은 더 어렵습니다. 지금은 모든 변수가 있지만 문자열의 올바른 위치에 문자를 넣어야 합니다.
이를 위해서는 while 루프를 사용해야 합니다. 먼저 모든 조건을 만듭니다.

while True:
    letter = input("Give my your letter: ")
    if letter in hangman['secret_word'] and letter not in hangman['guess_word']:
        pass
    #here I replace _ by letter
    elif letter not in hangman['secret_word']:
        hangman['lifes'] -=1
    print(f"{hangman['guess_word']}")
    print(f"lifes: {hangman['lifes']}")
    if '_' not in hangman['guess_word']:
        print('Bravo')
        break
    elif hangman['lifes'] <1:
        print('Game over')
        break


이제 ligne을 문자로 대체할 조건을 생성하므로 for 루프를 사용하여 비밀 단어의 모든 문자를 열거하여 guess_word에서 대체합니다. 이를 위해 문자 목록에서 guess_word를 변경해야 합니다.guess_word_letters = list(hangman['guess_word'])
for 루프는 모든 문자를 열거합니다.

for index, current_letter in enumerate(hangman['secret_word']):
            if current_letter == letter:
                guess_word_letters[index] = letter
            hangman['guess_word'] = ''.join(guess_word_letters)


이제 모든 while 루프는 다음과 같습니다.

while True:
    letter = input("Give my your letter: ")
    if letter in hangman['secret_word'] and letter not in hangman['guess_word']:
        guess_word_letters = list(hangman['guess_word'])
        for index, current_letter in enumerate(hangman['secret_word']):
            if current_letter == letter:
                guess_word_letters[index] = letter
            hangman['guess_word'] = ''.join(guess_word_letters)
    elif letter not in hangman['secret_word']:
        hangman['lifes']-=1
    print(f"{hangman['guess_word']}")
    print(f"lifes: {hangman['lifes']}")
    if '_' not in hangman['guess_word']:
        print('Bravo')
        break
    elif hangman['lifes'] <1:
        print('Game over')
        break


그리고 그것은 작동합니다:

좋은 웹페이지 즐겨찾기