2017年5月1日月曜日

Java戦車道(Robocode)

楽しいGWに埋もれるほどの課題


大学は5/1,2を休校にし、9連休を与えた。
しかし、学生には途方もない課題だけが残った。
4月末 某所 まっつん

というわけで9連休を手にしましたが、課題の量ですでに頭がいたいです。頑張ります。
それで本題ですが、今回出されている課題の中に

Robocodeで強いロボット(戦車)を作ってレポートを書く。ついでにそのロボットの特徴や戦術をプレゼンしてね。

というのがある。

Robocodeとは


Robocode is a programming game, where the goal is to develop a robot battle tank to battle against other tanks in Java or .NET. The robot battles are running in real-time and on-screen.

公式サイトより

訳出具体的に言うと、プログラミング学習のためのゲーム。実際のjava言語で戦車の行動を設計して対戦させるので、楽しみながら学習できる!的なやつである。公式サイトはここ。設計する戦車もプログラム本体もみんな大好きjavaなのでOSを問わずに実行可能。公式のAPIドキュメントは英語なので本学の学生には辛いかもしれないが、ネットで日本語化されたドキュメントがあるらしいので英語が壊滅でも安心。ちょろっとぐぐるといろんなロボットの例が出てくるので、「プログラム組みたくねぇ…」な人はExsampleやそこら辺から拾ったロボットで対戦させるとどういうゲームかわかって興味が湧くかもしれない。

導入


公式サイトのDownloadを踏むと、上段やや下にLooking for the latest version? Download robocode-1.9.2.6-setup.jar (6.0 MB)みたいなリンクが出現するので、それをダウンロード、実行すればOK。インストール後は、Windowsだったらデスクトップにショートカットが貼られるのでダブルクリックで実行。Macはインストールフォルダにrobocode.shがあるのでそれを実行すればプレイできる。

対戦させてみる


百聞は一見にしかず、戦わせてみるのがこれを理解するのに手っ取り早い。左上の「Battle」から「New」を選ぶと参戦するロボットを選ぶ画面になる。「sample」パッケージの中に何種類かのロボットがあるのでいくつかをダブルクリックして参加させ、下の「Start Battle」をクリックしてみよう。当然だがバトルが始まる。
しょぼく見えるかもしれないが、自分でロボットを作ってみるとこのsampleたちの凄さが分かる。とくにSpinBotを超えるロボットはまだ作れていない。上タブの「Robot > Sourde Editor」からsampleのコードを見たり、新しくロボットを作れたりするので興味がある人はぜひ。

すごいタイトル負けしてる気がするけど、本人もすごい戦車が作れてないから仕方ない。仮完成したらまた記事にします、たぶん。

0 件のコメント:

コメントを投稿