7일차: 행맨 게임

프로젝트



오늘의 목표는 행맨 게임을 만드는 것이었고 제가 정말로 감사했던 한 가지는 Angela가 목표만 있는 소개 비디오 하나를 만드는 대신 빌드 프로세스를 여러 섹션으로 나눈 방법입니다. 그녀가 할 일을 배치한 방법은 특정 영역이 제대로 작동하려면 루프가 필요할 수 있는 임의의 이름을 생성하기 위해 특정 작업이 어떻게 작동해야 하는지에 대해 생각하는 데 도움이 되었습니다. 이 작업을 완료하는 데 걸리는 시간을 줄이는 데 도움이 되었다고 생각합니다.

흐름도



제가 감사하기 시작한 한 가지는 프로젝트를 시작하기 전에 흐름도와 흐름도의 필요성입니다. 나는 항상 하나를 만드는 것을 두려워하고 그것이 필요하지 않으며 하나 없이 단계적으로 수행해야 할 것을 생각할 수 있어야 한다는 순진한 생각을 가지고 있었습니다. 하지만 말해줄게, 내가 틀렸어 😅. 순서도를 사용하여 빌드 프로세스를 통해 생각하는 방법을 익히고 나면 실제로 프로젝트 빌드를 시작하기가 더 쉬워졌습니다.

아래에 순서도를 추가했습니다.

Screen Shot 2022-08-19 at 2.05.26 PM.png

해결책



이 프로젝트는 정말 제 갈비뼈를 늘려줬고 소개에서 언급했듯이 꽤 만족스러웠습니다. 내 솔루션은 다음과 같습니다.main.py
from multiprocessing.spawn import import_main_path
import random
from hangman_words import word_list
from hangman_art import logo, stages

chosen_word = random.choice(word_list)
word_length = len(chosen_word)

end_of_game = False
lives = 6

print(logo)

# Testing code
print(f'Pssst, the solution is {chosen_word}.')

# Create blanks
display = []
for _ in range(word_length):
    display += "_"

while not end_of_game:
    guess = input("Guess a letter: ").lower()

    if guess in display:
        print(f"Youve already guessed {guess}.")

    # Check guessed letter
    for position in range(word_length):
        letter Al = chosen_word[position]
        print(
            f"Current position: {position}\n Current letter: {letter}\n Guessed letter: {guess}")
        if letter == guess:
            display[position] = letter

    # Check if user is wrong.
    if guess not in chosen_word:
        print(
            f"You guessed {guess}. That letter is not in the word. Life lossed.")
        lives -= 1
        if lives == 0:
            end_of_game = True
            print("You lose.")

    # Join all the elements in the list and turn it into a String.
    print(f"{' '.join(display)}")

    # Check if user has got all letters.
    if "_" not in display:
        end_of_game = True
        print("You win.")
    print(stages[lives])



github repo 를 확인하면 아트 및 임의의 이름에 사용된 가져온 파일을 알 수 있지만 공간을 절약하기 위해 여기에 추가할 필요는 없다고 생각했습니다. 내가 작업한 모든 것은 이 파일에서만 가져온 것입니다.

EOD



이것으로 오늘의 작업을 마치겠습니다. 저는 주말에 ATL에 있기 때문에 8일차를 2일로 나눌 것 같습니다. 다행히 행맨 프로젝트 후 요약 비디오에서 Angela가 언급한 내용이므로 필요한 경우 더 긴 날을 나누어도 더 이상 기분이 좋지 않습니다 😁✌🏾

내 진행 상황을 확인하고 싶거나 동료로 연결하고 싶다면 아래 내 소셜 링크를 확인하고 팔로우하세요!



  • 💻 Github
  • 👾 Discord

  • 좋은 웹페이지 즐겨찾기