RobocodeのPython版を触ってみましたので、環境構築等の情報を投稿します。
Robocodeとは
『Robocode』(ロボコード)は、小型戦車を自動制御するプログラムを作成し、競技場で別の戦車と戦うオープンソースの教育ゲーム
- 単純なロボットはわずか数分で作成でき、完成度を上げようとすると数ヶ月かかることがある。
- 参加者は各戦車は移動、射撃、位置の走査が可能。
- シンプルではあるが必勝策はなく、戦車に何千行ものコードを戦略として持たせることができる。
- 統計学やニューラルネットワークを組み込んで制御することもできる。
Python-Robocode
Pythonで動作させるためのRobocodeのフォークで、PyQtで開発されています。
PyQt
クロスプラット(Windows・Linux・macOS)のGUIツールキットで、PythonでGUIプログラミングをすることができるフリーソフトウェア
※PyQtの他には、PySide・PyGTK・wxPython・TkinterなどのGUIツールキットが存在する。
環境構築(mac,M1でのみ実行確認済)
Homebrewインストール
- Qt5のインストールに必要なMac OS用パッケージ管理ツール
- インストールしていない場合はターミナルで以下のコマンドを実行する。※ユーザ名の箇所のみ変更が必要
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/[ユーザ名]/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
PyQt5インストール
Homebrewを使用し、バージョン指定でインストールする。
pip install pyqt5
pipがない場合は以下でインストールする
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py
Robocode起動
Python-Robocodeをダウンロードし、Robocodeのディレクトリ内で以下を実行する。
python3 ./main.py
デモの実行
Battle > New を選択すると、戦車の選択画面になり、Startボタンを押すとゲームが開始され、設定したバトル回数が終了すると、結果が表示される。
手順書など
以下はJava版、Python版はドキュメントがない。
ロボットの作り方