0
0

この記事において、Hangmanという相手の考えた単語を当てる2人用のゲームをPythonコードで書く方法を皆さんに教示したい。

初期設定としては、このコードを書いたらいい。

Screenshot 2024-06-10 at 15.59.19.png

単語の選択と変数の初期化が必要になってくる。

Screenshot 2024-06-10 at 16.00.19.png

hangman_words.word_listからランダムに単語を選びます。
選ばれた単語の長さをword_lengthに格納します。
end_of_gameはゲームが終了したかどうかを示すフラグです。
livesは6に初期化され、これは許されるミスの回数を表します。
displayは、推測された単語の現在の状態を保持するリストで、最初はアンダースコア(_)で埋められます。

ゲームループ

Screenshot 2024-06-10 at 16.01.40.png

end_of_gameがFalseの間、ゲームは続きます。
プレイヤーは文字を推測するように促され、その文字は小文字に変換されます。
画面をクリアして表示をきれいに保ちます。
もし推測された文字がすでにdisplayに含まれている場合、プレイヤーにそのことを知らせるメッセージを表示します。

推測の確認

Screenshot 2024-06-10 at 16.03.28.png

このループは、選ばれた単語の各文字を繰り返します。
各位置で、推測された文字が選ばれた単語の文字と一致するか確認します。
もし一致した場合、"display"の対応する位置をその文字で更新します。

間違った推測の処理

Screenshot 2024-06-10 at 16.05.19.png

もし推測された文字が選ばれた単語に含まれていない場合、メッセージを表示し、プレイヤーはライフを失います。ライフが0になると、end_of_gameがTrueに設定され、プレイヤーに、負けたことを知らせます。

勝利条件の確認

Screenshot 2024-06-10 at 16.06.11.png

単語の現在の状態を表示します。もし、"display" にアンダースコアが含まれていない場合、プレイヤーがすべての文字を正しく推測したことを意味し、ゲームは勝利メッセージとともに終了します。

ハングマンの段階を表示

Screenshot 2024-06-10 at 16.07.10.png
残りのライフ数に基づいて、適切なハングマンの段階のグラフィックを表示します。

これだけでは、わからないと思うので、このコードを利用して、実際にHangmanをしている画像を添付しておく。

Screenshot 2024-06-10 at 16.09.39.png

今回私は、dをいう文字を予想した。Current Letterが正解のアルファベットで、Guessed Letterが、ユーザが予想した文字だ。この場合は、Fuchsiaというのが正解だ。

Screenshot 2024-06-10 at 16.10.31.png

そこで、再度試してみた。私は、lという文字を予想した。Current Letterは、Youthfulと出力されたので、一つの文字が的中したことになる。
Screenshot 2024-06-10 at 16.15.40.png

まとめ

ゲームはランダムな単語を選び、表示とライフを設定します。
プレイヤーは文字を推測し続け、正解なら表示を更新し、不正解ならライフが減ります。
プレイヤーが単語をすべて当てるかライフがなくなるまでゲームは続きます。
各推測後にハングマンのグラフィックが表示され、プレイヤーの進捗が示されます。

皆さんもこのプログラムコードを使い、Hangmanを一度試してみたらいかがでしょうか。

注)このプログラムコードを書くにあたって、このリンクを参考にしました。
https://github.com/Vickyabiodun/Hangman-Game

0
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0