1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【作成中】Python版のRobocodeに挑戦してみた

Last updated at Posted at 2021-06-13
1 / 10

RobocodeのPython版を触ってみましたので、環境構築等の情報を投稿します。


Robocodeとは

image.png

『Robocode』(ロボコード)は、小型戦車を自動制御するプログラムを作成し、競技場で別の戦車と戦うオープンソースの教育ゲーム

  • 単純なロボットはわずか数分で作成でき、完成度を上げようとすると数ヶ月かかることがある。
  • 参加者は各戦車は移動、射撃、位置の走査が可能。
  • シンプルではあるが必勝策はなく、戦車に何千行ものコードを戦略として持たせることができる。
  • 統計学やニューラルネットワークを組み込んで制御することもできる。

Python-Robocode

image.png
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

image.png


デモの実行

Battle > New を選択すると、戦車の選択画面になり、Startボタンを押すとゲームが開始され、設定したバトル回数が終了すると、結果が表示される。

image.png
image.png
image.png


手順書など

以下はJava版、Python版はドキュメントがない。

ロボットの作り方


ロボットの追加方法

Robotsフォルダにファイルを追加すると、ロボットの種類を追加できる。
image.png

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?