Hangman は古典的な単語当てゲームで、楽しく、初心者プログラマーにとって素晴らしいプロジェクトです。
この記事では、Python でハングマン ゲームの簡単なバージョンを構築する方法を学びます。
最後までに、Python の基本的な制御構造、関数、リストを使用してこのゲームを作成する方法を理解できるようになります。
ハングマンの目標は、一度に 1 つずつ文字を提案して秘密の単語を推測することです。
プレイヤーは、ゲームが終了するまでに限られた数だけ間違った推測を行うことができます。
間違った推測ごとに、「絞首刑執行人」の図形の一部が描画されます。単語を推測する前に全体の図形が描画された場合、プレイヤーは負けます。
これを分解して、段階的にゲームを構築してみましょう。
ゲームとその主な機能を計画しましょう:
ゲームには次のコンポーネントが含まれます:
random モジュールを使用して、リストから単語をランダムに選択します。
import random
次に、ゲームがランダムに選択する単語のリストを定義します。
さらに単語を追加して、ゲームをより面白くすることができます。
word_list = ['python', 'java', 'hangman', 'programming', 'computer']
単語リストから単語をランダムに選択する関数が必要です。
def get_random_word(word_list): return random.choice(word_list)
プレイヤーが文字を推測するとき、正しく推測された文字と、推測されなかった文字のプレースホルダー (_) を表示する必要があります。
def display_word(word, guessed_letters): display = '' for letter in word: if letter in guessed_letters: display = letter ' ' else: display = '_ ' return display.strip()
この関数は、単語のすべての文字が推測されたかどうかをチェックします。
def is_word_guessed(word, guessed_letters): for letter in word: if letter not in guessed_letters: return False return True
テキストベースのゲームでハングマンのフィギュアを表示するには、ASCII アートを使用してハングマンのさまざまな段階を表現できます。
def display_hangman(wrong_guesses): stages = [ """ ----- | | O | /|\\ | / \\ | | -------- """, """ ----- | | O | /|\\ | / | | -------- """, """ ----- | | O | /|\\ | | | -------- """, """ ----- | | O | /| | | | -------- """, """ ----- | | O | | | | | -------- """, """ ----- | | O | | | | -------- """, """ ----- | | | | | | -------- """ ] # Reverse the list to display the stages in the correct order stages.reverse() return stages[wrong_guesses]
これで、ゲームのメインループを組み立てることができます。このループは次のようになります:
import random # Function to get a random word from the list def get_random_word(word_list): return random.choice(word_list) # Function to display the current state of the word def display_word(word, guessed_letters): display = '' for letter in word: if letter in guessed_letters: display = letter ' ' else: display = '_ ' return display.strip() # Function to check if the word has been guessed def is_word_guessed(word, guessed_letters): for letter in word: if letter not in guessed_letters: return False return True # Function to display the hangman figure def display_hangman(wrong_guesses): stages = [ """ ----- | | O | /|\\ | / \\ | | -------- """, """ ----- | | O | /|\\ | / | | -------- """, """ ----- | | O | /|\\ | | | -------- """, """ ----- | | O | /| | | | -------- """, """ ----- | | O | | | | | -------- """, """ ----- | | O | | | | -------- """, """ ----- | | | | | | -------- """ ] # Reverse the list to display the stages in the correct order stages.reverse() return stages[wrong_guesses] # Main function to play the game def play_hangman(): word_list = ['python', 'java', 'hangman', 'programming', 'computer'] word = get_random_word(word_list) guessed_letters = [] attempts = 6 wrong_guesses = 0 print("Welcome to Hangman!") print("Guess the word!") # Main game loop while wrong_guesses説明
ゲームを実行するには、main.py:
ファイルを作成したと仮定して、Python スクリプトを実行するだけです。python main.py
ゲームでは文字の入力を求められ、ゲームが進むにつれて正しく推測された文字で単語が表示されます。
試行回数がなくなるとゲームが終了し、次のように負けます:
----- | | O | /|\ | / \ | | -------- Game over! The word was: programming
次のように単語を正しく推測すると勝ちです:
----- | | | | | | -------- j a _ a Enter a letter: v Good guess! v is in the word. Congratulations! You've guessed the word: java
このシンプルなハングマン ゲームは、Python での制御構造、関数、リスト、および基本的な入出力の使用法を示します。
このプロジェクトを構築するときに、次のような機能を追加できます:
これは、より高度な Python の概念を学習しながら拡張するのに最適なプロジェクトです。
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3