はじめに
こんにちは! 開志専門職大学情報学部2年(2027年卒)の@kondokarenと申します!
まず、ハングマンゲームは、プログラミングの練習に最適なシンプルで楽しいゲームです。この記事では、Pythonを使ってAPIからランダムな単語を取得し、その単語を使ってハングマンゲームを作成する方法を紹介します。
ステップ1:必要なライブラリのインストール
まず、requestsライブラリをインストールします。これにより、APIからデータを取得できます。
pip install requests
ステップ2:ランダムな単語を取得するAPIを選ぶ
ここでは、Random Word APIを使用します。このAPIはシンプルで使いやすく、ランダムな単語を取得するのに最適です。
https://random-word-api.herokuapp.com/home
ステップ3:ゲームのコードを書く
以下は、APIを使ってランダムな単語を取得し、ハングマンゲームを実装するコードの例です。
import requests
import random
def get_random_word():
response = requests.get("https://random-word-api.herokuapp.com/word?number=1")
if response.status_code == 200:
return response.json()[0]
else:
return "python" # APIが使えない場合のデフォルト単語
def display_hangman(tries):
stages = [
"""
-----
| |
O |
/|\\ |
/ \\ |
|
--------
""",
"""
-----
| |
O |
/|\\ |
/ |
|
--------
""",
"""
-----
| |
O |
/|\\ |
|
|
--------
""",
"""
-----
| |
O |
/| |
|
|
--------
""",
"""
-----
| |
O |
| |
|
|
--------
""",
"""
-----
| |
O |
|
|
|
--------
""",
"""
-----
| |
|
|
|
|
--------
"""
]
return stages[tries]
def play_hangman():
word = get_random_word()
word_completion = "_" * len(word)
guessed = False
guessed_letters = []
guessed_words = []
tries = 6
print("ハングマンゲームへようこそ!")
print(display_hangman(tries))
print(word_completion)
print("\n")
while not guessed and tries > 0:
guess = input("文字を予想してください: ").lower()
if len(guess) == 1 and guess.isalpha():
if guess in guessed_letters:
print("その文字はすでに予想されています。")
elif guess not in word:
print(f"{guess} は単語に含まれていません。")
tries -= 1
guessed_letters.append(guess)
else:
print(f"よくできました!{guess} は単語に含まれています。")
guessed_letters.append(guess)
word_as_list = list(word_completion)
indices = [i for i, letter in enumerate(word) if letter == guess]
for index in indices:
word_as_list[index] = guess
word_completion = "".join(word_as_list)
if "_" not in word_completion:
guessed = True
elif len(guess) == len(word) and guess.isalpha():
if guess in guessed_words:
print("その単語はすでに予想されています。")
elif guess != word:
print(f"{guess} は正しい単語ではありません。")
tries -= 1
guessed_words.append(guess)
else:
guessed = True
word_completion = word
else:
print("無効な入力です。")
print(display_hangman(tries))
print(word_completion)
print("\n")
if guessed:
print("おめでとうございます!単語を当てました!")
else:
print(f"残念!正解の単語は {word} でした。")
if __name__ == "__main__":
play_hangman()
ステップ4:ゲームを実行する
上記のコードを実行すると、APIからランダムな単語を取得し、その単語を使ってハングマンゲームが始まります。プレイヤーは文字を一つずつ予想し、正解するまで続けます。
まとめ
このハングマンゲームの実装は基本的なものですが、さらに機能を追加してカスタマイズすることも可能です。例えば、単語リストを外部ファイルから読み込んだり、GUIを使って視覚的に楽しめるようにすることもできます。プログラミングのスキルを磨きながら、楽しいゲームを作ってみてください!