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

じゃんけんゲーム作ってみた。

Posted at

初めに

こんにちは!今回は、Pythonを使ってじゃんけんAPIを作成する手順をご紹介します!

Python環境のセットアップ

ターミナルを開く

[表示] → [ターミナル] からターミナルを開きます。
仮想環境を作成(推奨): 以下のコマンドを実行して仮想環境を作成します。

python3 -m venv env

仮想環境を有効化

Windows

.\env\Scripts\activate

Mac/Linux

source env/bin/activate

有効化されると、ターミナルの先頭に (env) と表示されます。

必要なライブラリをインストール

ターミナルで以下のコードを入力します

pip install fastapi uvicorn

これで準備はOKです!

Pythonコードの作成

プロジェクトフォルダ内にmain.py という名前のファイルを作成します。
以下のコードを作成します

main.py
from fastapi import FastAPI
from enum import Enum
import random

app = FastAPI()


class Choice(str, Enum):
    rock = "rock"
    paper = "paper"
    scissors = "scissors"


def determine_winner(user_choice: Choice, computer_choice: Choice) -> str:
    if user_choice == computer_choice:
        return "draw"
    if (user_choice == "rock" and computer_choice == "scissors") or \
       (user_choice == "scissors" and computer_choice == "paper") or \
       (user_choice == "paper" and computer_choice == "rock"):
        return "win"
    return "lose"

@app.post("/play")
def play(user_choice: Choice):

    computer_choice = random.choice(list(Choice))

    result = determine_winner(user_choice, computer_choice)

    return {
        "user_choice": user_choice,
        "computer_choice": computer_choice,
        "result": result
    }

@app.get("/")
def root():
    return {"message": "Welcome to the Janken Game API!"}

サーバーを起動

ターミナルで以下のコマンドを実行して、FastAPIサーバーを起動します。

uvicorn main:app --reload

成功すると、以下のようなメッセージが表示されます
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

動作確認

ブラウザで確認
http://127.0.0.1:8000にアクセスして、ルートメッセージを確認します。
http://127.0.0.1:8000/docs にアクセスして、自動生成されたAPIドキュメントを確認します。
APIのテスト
/play エンドポイントをテストし、じゃんけんゲームが動作することを確認します

スクリーンショット 2024-12-23 15.07.43.png

最後に

作るのはとても簡単なのでぜひみなさんもやってみてください 最後までご覧くださりありがとうございました!!

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?