Robocodeみたいに遊びながらJavaを勉強できる(はずの)「CodeRuler」。
どんなものか、ここを読んでやってみました。
インストール&いじる準備
- Eclipseをインストールする。
私は既にインストール済みだったですけど、このページでも読んで入れてみましょう。
よーわからな人は、ここのAll-In-One-Eclipseが楽でいいです。 - CodeRulerをダウンロード
このページからダウンロードします。IBM IDが必要になるので、登録してない方は登録しないといけません。 - ダウンロードした「IBMGamesPkg_3.0.0.2.zip」を解凍したら、「com.ibm.games_3.0.0.2」というフォルダがあるので、eclipseの「plugins」フォルダにいれます。
うちだと、「C:Program FilesAll-In-One-Eclipseeclipseplugins」です。
これでいじる準備完了~。
ためしにいじってみる
- Eclipseを起動したら、「ウィンドウ>設定」を開き、「IBM Games」を選択。
右側にでてくるGame:の部分を「CodeRuler」にして「Create Project」を押す。
これでプロジェクトができあがり。 - できあがったCodeRulerのプロジェクトの「src>(デフォルト・パッケージ)>MyRuler.java」を選んでダブルクリック。
- 以下の関数の中身を適当にかえちゃいます。
農民がランダムに動くソースです。import java.util.Random;←ソースの上の方に追加。 protected Random rand = new Random(); ↑public class MyRuler extends Rulerの すぐ下にでも追加。 public String getRulerName() { return "l3 Test Ruler"; } public String getSchoolName() { return "l3 Test School"; } public void orderSubjects(int lastMoveTime) { // put implementation here IPeasant[] peasants = getPeasants(); for (int i = 0; i < peasants.length; i++) { move(peasants[i], rand.nextInt(8) + 1); } }
- ファイルを保存する。
- 「プロジェクト>すべてビルド」でビルドする。
- メニューバーの下に
こんなのがあるはずです。
まずはを押します。 - なんかゲームっぽいウィンドウがでてきます。
OpponetSelectionというウィンドウがでてくるので、適当に選んで「Add」を押して追加して、OKを押します。 -
農民がランダムに動いているのがわかると思います。
実行中に画面が止まったりして操作できなくなったら、Eclipseの「実行>終了」で終了させちゃってください。
それでも終了しないときは、CTRL+ALT+DELで終了させましょう。。。
感想
Robocodeに比べて、とっつきにくい印象は強いかも?
Robocodeの場合、run関数に「 turnRight(180) 」って書くだけで右に回転したりするため、感覚とコードが一致しやすい。
また、クラスなんかを意識しなくても最初は作れる。だんだん慣れてきて、すごいことをしようとしたときに初めてオブジェクト指向の知識が必要となり、抵抗少なく勉強が可能な気がする。
CodeRulerの場合、農民一人を動かすにも「IPeasant[] peasants = getPeasants();」でワールドにいる全農民を取得して、それぞれの農民に対して、「move(動かしたい農民,移動方向)」とやる必要がある。
初めてJavaやプログラミングを触る人が、すぐにコードを書けるかというと、ちょっと無理がある気がする。
自分が動かしている、いう実感が沸かなすぎる。
下に書くCodeRallyの方が、そういう意味ではわかりやすくなってるかなぁ。
IBMでの位置づけはわかりませんが、Robocodeで遊べるレベルはクリアしてないと、CodeRulerは無理かもしれませぬ。
CodeRally
ちなみに、ここから「CodeRally」をダウンロードして、Eclipseのpluginsフォルダに入れてあげると同様の手順でCodeRallyが遊べます。
CodeRulerでは「ウィンドウ>設定」の「IBM Games」から「CodeRuler」を選んでプロジェクトを生成しましたが、CodeRallyの場合は「CodeRally」を選び「Create Project」をすればOKです。
CodeRallyも、CodeRulerと同様に専用のボタンが追加されてるので、それを押してRunさせます。
CodeRallyやってみたい方はここを読むと幸せになれるかもしれません。
付録
CodeRulerボタン
icon | 意味 | 説明 |
---|---|---|
サンプルを相手に実行 | このボタンを使い、プレイヤー自身が選ぶサンプルの支配者を相手に自軍の支配者をテストします。 | |
サンプルを相手にデバッグ | このボタンを使い、プレイヤー自身が選ぶサンプルの支配者を相手に自軍の支配者をテストします。デバッグ・モードで自軍の支配者を実行し、プレイヤー自身が設定したブレークポイントで停止します。 | |
別のチームを相手に実行 | コードをサブミットした後、別のチームの支配者がダウンロードされます。このボタンを使うことにより、別のチームの支配者を相手に自軍の支配者をテストします。 | |
別のチームを相手にデバッグ | 別のチームの支配者を相手に自軍の支配者をテストする間、IDEのデバッグ・モードで自軍の支配者を実行します。 | |
コードをサブミット | これで自軍の支配者をサブミットしてください。これまでに他のチームによりサブミットされた全ての支配者の暗号化されたバンドルのダウンロードをもします。 |
参考リンク
CodeRuler
CodeRally
Eclipse
CodeRally/CodeRally
CodeRallyについて悩みを解決するには、まずはCodeRallyについての正しい知識が必要です。そこで、CodeRallyについての情報を集めま…