1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

APIの機能を用いてクイズゲームを作ってみた

Last updated at Posted at 2024-12-02

はじめに

こんにちは! 開志専門職大学情報学部2年(2027年卒)の@kondokarenと申します!

前回のハングマンゲームに続いて、今回は、APIの機能を用いてクイズゲームを作ってみたいと思います。
クイズゲームは、プログラミングの練習に最適なシンプルで楽しいゲームです。この記事では、Pythonを使って外部APIからクイズの質問を取得し、その質問を使ってクイズゲームを作成する方法を紹介します

ステップ1:必要なライブラリのインストール

まず、requestsライブラリをインストールします。このライブラリを使って外部APIからデータを取得します。

pip install requests

ステップ2: クイズの質問を取得するAPIを選ぶ

ここでは、Open Trivia Database APIを使用します。このAPIは様々なカテゴリのクイズ質問を提供してくれます。

ステップ3: ゲームのコードを書く

以下は、APIを使ってクイズの質問を取得し、クイズゲームを実装するコードの例です。

Python
import requests
import random

def get_quiz_questions(amount=5, category=9, difficulty='easy'):
    url = f"https://opentdb.com/api.php?amount={amount}&category={category}&difficulty={difficulty}&type=multiple"
    response = requests.get(url)
    if response.status_code == 200:
        return response.json()['results']
    else:
        return []

def play_quiz():
    questions = get_quiz_questions()
    score = 0

    for i, question in enumerate(questions):
        print(f"Q{i+1}: {question['question']}")
        options = question['incorrect_answers'] + [question['correct_answer']]
        random.shuffle(options)
        for j, option in enumerate(options):
            print(f"{j+1}. {option}")
        
        answer = input("答えを選んでください (1-4): ")
        if options[int(answer)-1] == question['correct_answer']:
            print("正解!\n")
            score += 1
        else:
            print(f"不正解。正しい答えは: {question['correct_answer']}\n")

    print(f"あなたのスコアは {score}/{len(questions)} です。")

if __name__ == "__main__":
    play_quiz()

ステップ4: ゲームを実行する

上記のコードを実行すると、APIからクイズの質問を取得し、クイズゲームが始まります。プレイヤーは選択肢から正しい答えを選び、スコアが表示されます。

まとめ

このクイズゲームの実装は基本的なものですが、さらに機能を追加してカスタマイズすることも可能です。例えば、カテゴリや難易度を選べるようにしたり、GUIを使って視覚的に楽しめるようにすることもできます。プログラミングのスキルを磨きながら、楽しいクイズゲームを作ってみてください!

1
0
0

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?