こんにちは。今回は、Pythonでロボットの行動ロジックを作成し、仮想バトルを楽しめるアプリ「PCRB(Python Code Robot Battle)」を紹介します。
PCRBとは?
PCRBは、Pythonで自作したロジック(AI)を使ってロボット同士を戦わせる、ターン制の戦略ゲームです。
自分で考えたアルゴリズムを実装し、他のロボットと対戦して強さを競うことができます。
- ロジックはPythonで自由に記述可能
- StreamlitベースのWebアプリで手軽に遊べる
- サンプルやマニュアルも充実
こんな人におすすめ
- PythonでAIやアルゴリズムを試したい
- ゲームAIの入門や教材を探している
- 競技プログラミングや戦略ゲームが好き
遊び方
1. サンプルロジックをダウンロード
まずはサンプルのロジックファイルをダウンロードします。
アプリの「Home」ページからワンクリックで取得できます。
def robot_logic(robot, game_info, memos):
enemy_position = game_info['enemy_position']
if robot.sp < 20:
return "rest"
elif abs(robot.position[0] - enemy_position[0]) + abs(robot.position[1] - enemy_position[1]) == 1:
return "attack"
else:
if robot.position[0] < enemy_position[0]:
return "right"
elif robot.position[0] > enemy_position[0]:
return "left"
elif robot.position[1] < enemy_position[1]:
return "down"
else:
return "up"
2. ロジックを編集
エディタでサンプルファイルを開き、戦略を自由に改造しましょう。
例えば「HPが50以下なら防御する」など、条件分岐もOKです。
3. ロジックファイルをアップロード
アプリの「Home」ページで、作成したPythonファイルをアップロードします。
4. バトル&ログ確認
アップロード後、自動でバトルが始まり、勝敗やログが表示されます。
ログ(game_state.json)はダウンロードでき、詳細なターンごとの状況も確認できます。
5. 改良して再挑戦!
ログを見てロジックを改良し、何度でも挑戦できます。
主なアクション一覧
アクション名 | コマンド例 | 効果・特徴 |
---|---|---|
通常攻撃 | "attack" | 隣接する敵に20ダメージ |
移動 | "up" "down" | 1マス移動 |
防御 | "defend" | 1ターン受けるダメージ半減 |
遠隔攻撃 | "ranged_attack" | 2マス離れた敵に15ダメージ |
パリィ | "parry" | 攻撃無効化+敵をスタン |
休息 | "rest" | SPを15回復 |
罠設置 | "trap_right"等 | 指定方向に罠設置(25ダメージ) |
スタミナ盗み | "steal" | 隣接敵からSPを奪う |
テレポート | "teleport" | ランダムな位置に瞬間移動 |
カモフラージュ | "camouflage" | 3ターン位置を隠す |
スキャン | "scan" | 敵のSPや罠の位置を確認 |
Webアプリの使い方
- PCRBアプリ(Streamlit Cloud)
https://python-code-robot-battle.streamlit.app/
ブラウザだけでOK。ローカル実行も可能です(README参照)。 - ManualページやTutorialページで詳細ルールや使い方を確認できます。
開発・カスタマイズ
- ソースコードはGitHubで公開中
https://github.com/ai-study-room-notat/python_code_robot_battle
まとめ
PCRBは、PythonでAIロジックを作って遊べるバトルゲームです。
ぜひ自分だけの最強ロボットを作ってみてください!
ご質問・要望などあればコメントでどうぞ!
※本記事で紹介した内容・仕様は2025年6月時点のものです。
最新情報や詳細は公式リポジトリをご覧ください。
https://github.com/ai-study-room-notat/python_code_robot_battle