# macOS/Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"git clone https://github.com/KeioAIConsortium/aic_reversi.git
cd aic_reversi
uv run python main.py- 何も表示されない場合:Pythonのversionがtkinterに対応していることを確認してください.対応していない場合は画面が表示されません.
vs_human.pyを開き,cpu_algorithm関数を編集してください.
def cpu_algorithm(board, player_num):
valid_moves = [] # 置けるマスかを格納するリスト
for x in range(1, 9): # 1行ずつ走査
for y in range(1, 9): # 1列ずつ走査
if ReversiGUI.validate_reversible(
board, player_num, x, y
): # その(x,y)座標に石を置けるか判定
valid_moves.append((x, y)) # 置けるマスとしてリストに追加
if valid_moves != []: # 置けるマスがある場合
return valid_moves[0]
return valid_movesvs_bestmodel.pyを使用して過去のモデルと対戦できます.
cpu_algorithm関数に自分のアルゴリズムを実装してください.
対戦相手のモデルは,以下(3行目)を変えることで変更できます.
from models.spring_2025.best_algorism import cpu_move # 過去の優勝モデルを使用uv run python vs_bestmodel.pyvs_models.pyを使用して様々な強さのモデルと対戦できます.
cpu_algorithm関数に自分のアルゴリズムを実装してください.
対戦相手のモデルは,以下の部分を変えることで変更できます.
# opponent = cpu_lv0.cpu_lv0 # ランダム
opponent = cpu_lv1.cpu_lv1 # 最も多くの石をひっくり返せる手を選ぶ
# opponent = cpu_lv2.cpu_lv2 # コーナー優先戦略
# opponent = cpu_lv3.cpu_lv3 # 位置の重み付けに基づいて手を選ぶ
# opponent = cpu_lv4.cpu_lv4 # 以前の授業での最強モデル
# opponent = cpu_lv5.cpu_lv5 # αβ法で最善手を選ぶモデルuv run python vs_models.pyonline_battle.pyを使用してオンラインで対戦できます.
cpu_algorithm関数に自分のアルゴリズムを実装してください.
is_firstをTrueにすると先手,Falseにすると後手になります.
python online_battle.py高校三年生を対象としたPython初級講座. CPUを実装し対戦ゲームを実施. 👏 team aが優勝 👏
-
Python初級
一貫校の中高生を対象にしたPython初級講座.モジュール化されたコードを用いてCPUを実装.
-
GAS中上級(GAS×Python)
一貫校の中高生を対象にしたGAS中上級講座.GASを使ってreversiを通信対戦可能に実装.