httpsで動かしたくてがんばってたら、なんとなーく動いたんだけど、微妙にhttpのURLがでてくるっ。
現象はこれ
http://www.redmine.org/issues/show/672
解決法はかいてるとおり、proxyの設定に
RequestHeader set X_FORWARDED_PROTO 'https'
を追加してあげるとよい。
で、mod_headerを有効にする。
これでちょっと安心します。別に公開しないけど。ちょー自己満足。
httpsで動かしたくてがんばってたら、なんとなーく動いたんだけど、微妙にhttpのURLがでてくるっ。
現象はこれ
http://www.redmine.org/issues/show/672
解決法はかいてるとおり、proxyの設定に
RequestHeader set X_FORWARDED_PROTO 'https'
を追加してあげるとよい。
で、mod_headerを有効にする。
これでちょっと安心します。別に公開しないけど。ちょー自己満足。
懐かしいものを発見してしまいました。
知ってる方はいますかねぇ?
『遊びながらJavaプログラミングを勉強できちゃう!』
という面白いツールです。
Javaで提供されているロボット(というか戦車)のクラスと機能を利用し、改造しちゃって自分だけのロボットをつくり、そして戦わせる!!
プログラミングを勉強してみたいが、何作っていいかわからないし、メモ帳とか作っても面白くないしな~(-_-; って人はやってみるといいかもしれません。
まぁ、だいぶ古いネタではあるのですけどね・・・w
Robocodeみたいなやつは他にないのかなぁ・・・。
誰か知ってたら教えてください!
試しにやってみたい方は続きを読んで見てください~。
ロボできたら私のと戦ってみましょうか!
まだ作ってませんが!w
ちなみに、JavaなのでMacやLinuxでもできるはず?(試してないですが)
インストールはプログラミングしようと思ってる人ならたぶん簡単です。
下記のリンクから、インストールしてみてください。
JDKが入ってようが入っていまいが、JDKって何?という方も、真ん中あたりの「ここをクリック」というのからどうぞ。
その後、「インストールを完了するには、以下のようにします」とでるので、「robocode-setup.jar」をダウンロードしてください。
先ほど試しにやってみたら、「robocode-setup.jar」からダウンロードできなかったんですが、同じ症状の方がいましたら「ここをクリック」という方でダウンロードしましょう。
ダウンロードが完了したら、次はインストールですが、インストールはコマンドプロンプトから行います。
コマンドプロンプトはウィンドウズのメニューの中の「アクセサリ」の中にあります。
コマンドプロンプトを起動したら、
cd robocode-setup.jarがあるフォルダ
と入力してENTERを押してください。
「cd」の後には一つスペースです。そのスペースの後に、robocode-setup.jarがあるフォルダまでのパスを書きます。
フォルダのパスがどうしてもわからなければ、robocode-setup.jarをc:の直下に置き、「cd c:」とでもしてください。
その次に、
java -jar robocode-setup.jar
と入力します。
そうするとインストールウィンドウがでてくるので、後は指示に従って進んでください。
インストールが終わると、デスクトップにショートカットができますので、それをダブルクリックすると起動します。
起動したら、サンプルロボットでバトルさせてみましょう。
どんぱち勝手にやってくれます。
これからあなたはこの中のロボットを一掃するすげーやつを作るわけです。
オラわくわくすっぞ!
ですよね(;゚Д゚)
んじゃ、ロボットを作ってみましょう。
まず、ソースを作成します。
そこまでいくと、なにやらウィンドウにプログラムらしきものがでてきました。
このままでも立派なあなたのロボット(戦車)でございます。
それじゃ、これをコンパイルしてみましょう。
プログラムはソースのままでは動いてくれません。コンパイルすることでロボットが動くことができる状態にしてあげます。
これで、あなたのロボットは敵ロボットを倒す準備が完了しました。
次はあなたのロボットを使ってバトルしてみましょう。
コンパイルできたので、自分のロボットを戦わせてみましょう。
サンプルロボットめえええ。タイマンじゃー
まぁ、最初のロボは大して強くはありません。
たぶんWalls辺りには絶対勝てないでしょう。
後は、ソースを改良→コンパイル→対戦!して楽しむといいでしょうw
参考リンクの「闘え、Robocode (ロボコード) !」と「インストール」の右側にあるRobocodeのAPI仕様書をダウンロードして一通り読みながらやると、基本はマスターできるはず。
さすがに、古いツールなので、もう大会はないですが、当時はIBMが商品を出した大会とかあって結構盛り上がっていました。
いまさらではありますが、プログラムやJavaの勉強してみよー、って思ってる人いたら、試しにやってみましょう
基本的なこと:
闘え、Robocode (ロボコード) !
応用色々:
Robocodeの達人たちから秘訣を学ぶ: 高等なターゲッティング — パターン認識
Robocode関連リンク集
Robocodeみたいに遊びながらJavaを勉強できる(はずの)「CodeRuler」。
どんなものか、ここを読んでやってみました。
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); } }
Robocodeに比べて、とっつきにくい印象は強いかも?
Robocodeの場合、run関数に「 turnRight(180) 」って書くだけで右に回転したりするため、感覚とコードが一致しやすい。
また、クラスなんかを意識しなくても最初は作れる。だんだん慣れてきて、すごいことをしようとしたときに初めてオブジェクト指向の知識が必要となり、抵抗少なく勉強が可能な気がする。
CodeRulerの場合、農民一人を動かすにも「IPeasant[] peasants = getPeasants();」でワールドにいる全農民を取得して、それぞれの農民に対して、「move(動かしたい農民,移動方向)」とやる必要がある。
初めてJavaやプログラミングを触る人が、すぐにコードを書けるかというと、ちょっと無理がある気がする。
自分が動かしている、いう実感が沸かなすぎる。
下に書くCodeRallyの方が、そういう意味ではわかりやすくなってるかなぁ。
IBMでの位置づけはわかりませんが、Robocodeで遊べるレベルはクリアしてないと、CodeRulerは無理かもしれませぬ。
ちなみに、ここから「CodeRally」をダウンロードして、Eclipseのpluginsフォルダに入れてあげると同様の手順でCodeRallyが遊べます。
CodeRulerでは「ウィンドウ>設定」の「IBM Games」から「CodeRuler」を選んでプロジェクトを生成しましたが、CodeRallyの場合は「CodeRally」を選び「Create Project」をすればOKです。
CodeRallyも、CodeRulerと同様に専用のボタンが追加されてるので、それを押してRunさせます。
CodeRallyやってみたい方はここを読むと幸せになれるかもしれません。
CodeRulerボタン
icon | 意味 | 説明 |
---|---|---|
サンプルを相手に実行 | このボタンを使い、プレイヤー自身が選ぶサンプルの支配者を相手に自軍の支配者をテストします。 | |
サンプルを相手にデバッグ | このボタンを使い、プレイヤー自身が選ぶサンプルの支配者を相手に自軍の支配者をテストします。デバッグ・モードで自軍の支配者を実行し、プレイヤー自身が設定したブレークポイントで停止します。 | |
別のチームを相手に実行 | コードをサブミットした後、別のチームの支配者がダウンロードされます。このボタンを使うことにより、別のチームの支配者を相手に自軍の支配者をテストします。 | |
別のチームを相手にデバッグ | 別のチームの支配者を相手に自軍の支配者をテストする間、IDEのデバッグ・モードで自軍の支配者を実行します。 | |
コードをサブミット | これで自軍の支配者をサブミットしてください。これまでに他のチームによりサブミットされた全ての支配者の暗号化されたバンドルのダウンロードをもします。 |
CodeRuler
CodeRally
Eclipse