ム板のみんなでRobocode (・∀・)ヤローウヨ!1台目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
NGNGhttp://www-6.ibm.com/jp/developerworks/java/020329/j_j-robocode.html
●オフィシャルサイト
http://robocode.alphaworks.ibm.com/home/home.html
●Robocode API Documentation
http://robocode.alphaworks.ibm.com/docs/robocode/index.html
●Java2のダウンロード先
http://java.sun.com/j2se/1.4/ja/download.html
君のマシーンは生き残れるか!?
0175デフォルトの名無しさん
NGNGテストのためのテストってつもりなら、とりあえずやってみたら?
ロボットの品質を上げるためのテストなら止めた方がよいと思うが。
>全てのメソッドをオーバライドしてファイルなりストリームなりに
>吐き出すようにする。
JUnitを使ってのテストじゃないよね?
out.printlnじゃダメなの?
0176106
NGNGお前らこれ↑を翻訳しました。これ↓を見て誤訳の指摘等お願いします。
http://www.geocities.co.jp/SiliconValley/9155/library/robocode2.html
ところでGoogleって登録手続きしてから実際に登録されるまで
1〜4週間も時間がかからしいですな。
0177デフォルトの名無しさん
NGNG>すごいドライバになりそうやね。
やっぱりそうかな?
>テストのためのテストってつもりなら、とりあえずやってみたら?
>ロボットの品質を上げるためのテストなら止めた方がよいと思うが。
JUnitを使った場合と使わない場合で、Robotの品質にどれだけ違いがでるか
知りたいってのもあるから、品質があがらないならやりたくないんだけど、
見込みないかな。
>JUnitを使ってのテストじゃないよね?
>out.printlnじゃダメなの?
JUnitのつもりですけど、out.printlnでも大丈夫ですか?
0178デフォルトの名無しさん
NGNG「アドバンスドロボット作りとチームプレイで基礎を超えろ」
翻訳おつかれさま。たすかります。
チームプレイ機能があったのには気づかなかった。
友達何人かでチームわけしてプレイすれば楽しそ (w
0179デフォルトの名無しさん
NGNGコーディングしながら頻繁に自動チェックしたいわけだろ?
outじゃなあ…かえって検査ルーチンが面倒になると思うが。
0180デフォルトの名無しさん
NGNG読むぜ。ありがとう。
しかしやる時間がぜんぜんねぇなもうVAIO抱えて通勤するしかなさぽ。
0181デフォルトの名無しさん
NGNGぜひうpしてく!!
0182デフォルトの名無しさん
NGNG失敗ついでに、「ターン」の概念がききたい。
0183176
NGNG実はおれもよくわからんのよ。わからないまま訳してしまったよ。
シミュレーションゲームとRobocodeの両方に詳しい人がいたら
きちんと説明してもらえるかもしれないんだけど。
0184デフォルトの名無しさん
NGNGボードゲームでもトランプでも「自分の番」ってのがあるでしょ。
ポーカーだと
レイズorコールor降りる→カード捨て→カード取る
で1回の自分のターンが終わる。
シミュ系のボードゲームだと例えば
補給→移動→攻撃
で1ターン終了、みたいな。
で、「うーん。このユニットがあの町につくまでには3ターンかかるな」ってのは
「自分の番が3回まわってくる間移動し続けないと町まで着かない」って意味。
0185182
NGNGたとえばScannedRobotEventで trunRight(1) とだけ記述した場合、
「そのターンは右1度旋回で終了」
とみなされてしまってるような気がして。
Eventの行動だけで1ラウンド経過してしまうのか?とか、
じゃあいったいいつメインのループに処理が回るのか?とか、
1ターンのどのタイミングでEventは補足されるのか?とか、
疑問が尽きないのです。
この辺りが詳しく記されたドキュメントってありませんかね。
0186デフォルトの名無しさん
NGNGRobotなら旋回が終了するまで処理が戻ってこないし、
AdvanceRobotならすぐに処理が戻ってくる。
どちらにしても、1tickに10度の旋回速度じゃなかったっけ?
0187186
NGNGたとえば、
run() {
while (1) {
turnRight(20);
}
}
onScannedRobotEvent (...) {
turnLeft(10);
}
なら、turnRight(20)から戻るまでに2tick経過すると思われます。
そして、ScannedRobotEventはturnRight()を呼び出して処理が
戻ってこない間に発生します。
このとき、もし10度だけ右に旋回したときにEventが発生した場合、
turnLeft(10)の処理は、その時点で有効になるのか、20度回りきって
から有効になるのかは、ちょっと不明。
0188186
NGNGAdvancedRobot.setMaxTurnRate()
の説明から推測。
0189182
NGNGって事は、20度回転したいときに何ターン(tick)かかるかは一概にはいえないと。
う〜ん、インテリジェントに制御するのは結構面倒ですなぁ。
>Robotなら旋回が終了するまで処理が戻ってこないし、
>AdvanceRobotならすぐに処理が戻ってくる。
なる。ある程度以上制御したいならAdvanceを使っていくのが近道っぽいですね。
とりあえずJavaDoc読み漁ってみます。
感謝。
0190デフォルトの名無しさん
NGNG毎ターンsetTurnRight()にわたせば向きたい角度に向ける。
あと、速度に影響されるのは砲台じゃなくてRobotでは。まぁ、砲台もロボットの
回転の影響を受けるけどそれはsetAdjust〜〜で防げるし。
0191デフォルトの名無しさん
NGNGRobocode Rumbleに5/20に"Takahashi"っていうロボットが登録されてたよ。
日本からの初参戦?あまりマメにチェックしてなかったからわからないっす。
0192デフォルトの名無しさん
NGNG0193デフォルトの名無しさん
NGNG>Profile: Takahashi meijin...
高橋名人だって。16 連(略
0194デフォルトの名無しさん
NGNGanti-gravity movementの解説を訳してアップしました。
0195106
NGNGPredictive targeting(予言的ターゲッティング?)の解説を
訳しました。多分明日の朝アップします。
この戦略の優秀さはJollyNinjaとMadHatterの強さが証明しています。
0196デフォルトの名無しさん
NGNG0197デフォルトの名無しさん
NGNGおおお、お疲れさんです
楽しみにしてまっさ
0198デフォルトの名無しさん
NGNGhttp://www.geocities.co.jp/SiliconValley/9155/library/pred-targeting.html
アップしました。
0199デフォルトの名無しさん
NGNGいつも、ありがとう。
参考にさせていただきます。
0200デフォルトの名無しさん
NGNGいつもありがとう。
ロボットで負ける前に熱意で負けそうだ(藁
0201デフォルトの名無しさん
NGNG>>75
漏れも同じこと起こったけどJBuilderは
jdk.configのvmparam -Dsun.java2d.noddraw行を
コメントアウトしたらちかちかしなくなったよ〜
ただrobocodeはだめっぽい(;´Д`)
0202デフォルトの名無しさん
NGNGまたアップしましたが、わからんかったところがあります。
> the number of encounters in which the state has been used,
と
> To prevent a single bad round from disqualifying
> a potentially effective state,
> statistics data is not considered valid unless
> the state has been used in at least three encounters.
は(特に encounters)どう訳したらいいのでしょう?
0203ののたん
NGNG〜するために、
少なくとも3回の遭遇で使用されたステートでない限り
統計データは有意なものとして考慮されない。
くらいだぴょん。
0204デフォルトの名無しさん
NGNG0205202
NGNGそうします。
> 204
stateはあえて「ステート」としておきました。
GoFのデザパタにStateパターンもあることだし
いじらなくてもいいかなと思って。
0206デフォルトの名無しさん
NGNGRobocodeに8クイーン(8だと時間がかかるので実際は5クイーン)を
解かせたそうです。TeamRobot#broadcastMessage()を使うと
ある程度までは高速化できるのかな。
しかしレーダーを使わなくてすむので面白みは減るかも。
0207デフォルトの名無しさん
NGNG雑誌の創刊号には特別企画に
『RobocodeによるJavaプログラミング撃破術』
というのが掲載されるそうです。
0208デフォルトの名無しさん
NGNG撃 破
0209デフォルトの名無しさん
NGNG>ム板のみんなでRobocode (・∀・)ヤローウヨ
い や だ !
0210デフォルトの名無しさん
NGNG0211106
NGNG"Secrets from the Robocode masters"には今のところ記事が7つあるけど
一応全部訳したよ。時間さえあれば土日にHTML化してアップしたいっす。
0212デフォルトの名無しさん
NGNG0213106
NGNGhttp://www.geocities.co.jp/SiliconValley/9155/api/
http://www.geocities.co.jp/SiliconValley/9155/library/
アップしました。一番すごいと思ったのは現在世界のトップロボットは大抵
ターゲッティングシステムにパターン認識を採用しているというところです。
ところでおれって著作権を侵害しまくってるのかな、やっぱり。
0214213=106
NGNGあーあ、どうしたらよかんべ。
0215デフォルトの名無しさん
NGNG僕たち純真無垢なタイーホブラザーズ!
とっても目立つようにageてあげるよ!
タイーホされたら祭をしてあげるからね。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ∧_∧ タイーホ
(・∀・ ) ( ・∀・) タイーホ
/ \ / \ タイーホ タイーホ
⊂( ヽノ つ ⊂ヽ/ ) つ タイーホ
し(_) (_)J
0216デフォルトの名無しさん
NGNG僕たち純真無垢なタイーホブラザーズ!
とっても目立つようにageてあげるよ!
タイーホされたらタイーホ祭をしてあげるからね。
 ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
∧_∧ ∧_∧ タイーホ
(・∀・ ) ( ・∀・) タイーホ
/ \ / \ タイーホ タイーホ
⊂( ヽノ つ ⊂ヽ/ ) つ タイーホ
し(_) (_)J
0217デフォルトの名無しさん
NGNG産休!
0218デフォルトの名無しさん
NGNG聞いてみるとか。
0219デフォルトの名無しさん
NGNG日本IBMより早く「ロボコード」で商標登録を汁
ついでにタカラにロボコードプラモ作ってもらう
0220デフォルトの名無しさん
NGNG0221106
NGNGhttp://www.geocities.co.jp/SiliconValley/9155/library/radar.html
まさか6億円も払う事態には陥らないだろうと思いながらまた訳してアップしました。
"The Secret from Robocode masters: Radar sweeps"の訳です。
0222デフォルトの名無しさん
NGNGお勤めご苦労様です。
レーダーの作動範囲とか、読んでたらコムサイトやりたくなってきた。
0223デフォルトの名無しさん
NGNGイツノマニカ(゚∀゚)日本語化サレテルシー!!
0225106
NGNGPolymorphic enemy cache"を近日中に訳してアップする予定です。
それからAA作ってみました。(ネタなのでsage)
∧ ∧
(,,゚Д゚)つ <out.println("逝ってよし!");
. [∪ ̄]≡=ロ
/ ̄ ̄ ̄ ̄\
(○) (○) (○)
0226デフォルトの名無しさん
NGNGSystem.out.println("test");
の出力が出ないんです。
Round 3 initializing....
Let the games begin!
Round 3 cleaning up.
----------------------
Round 4 initializing....
Let the games begin!
こういうのが出る窓にでるはずと思うんだけど。。。
出すまでも無いと思われるソースは一応こんなです。
public void run() {
// After trying out your robot, try uncommenting the import at the top,
// and the next line:
//setColors(Color.red,Color.blue,Color.green);
while(true) {
System.out.println("test");
・・・・
コンパイルエラーは出ていません。何が悪いんでしょうか?
0227デフォルトの名無しさん
NGNGhttp://robocode.alphaworks.ibm.com/docs/robocode/robocode/Robot.html#out
を読んでみそ。文字を画面に出力したいときは
Robotクラスのフィールドoutに出力すべきで、
これはバトルフィールドの右側のボタンを押すと表示される。
System.outに何か書こうとしてもやはりRobotクラスのoutに出力される。
……ということだと思う。
0229226
NGNGとりあえず一機つくってみたけど、sample11機と50戦して32,206点
不本意だ・・・
ていうかsampleに負けてる時点で駄目ですか?
0230デフォルトの名無しさん
NGNG駄目ってことはない。とりあえずsampleロボット達のソースをじっくり眺めて
勉強させてもらうだけでもスキルはアップすると思うよ。
sampleに確実に勝てるロボットを作れるようになるにはそれなりの努力が要る。
http://www.ecs.soton.ac.uk/~awo101/robocode.html
英語を読むのが苦でなければこれ↑は良いチュートリアルだと思う。
0231デフォルトの名無しさん
NGNG0232デフォルトの名無しさん
NGNGttp://www.javadeveloper.jp/static/index.html
って、a 要素の href 属性を書き間違ってない?
Not Found 大杉だよぉ。
0233デフォルトの名無しさん
NGNG「Robocodeを使ったJavaプログラミング撃破術:前編」
> 砲弾の速度は、エネルギーに反比例しており、
> 20 - 3 x p
> となります。
この記事の著者は義務教育を受ける機会が無かったのかな。
0234デフォルトの名無しさん
NGNG0235デフォルトの名無しさん
NGNG0236デフォルトの名無しさん
NGNGpがエネルギーだぜ
0237デフォルトの名無しさん
NGNGつっこみどころが違う。
「反比例」なら y = a / x の形でしょ。
0238106
NGNG>>225で予告した文章をまだアップしていないのに
Secrets from the Robocode mastersがまた一つ増えてました。精進せねば。
0239デフォルトの名無しさん
NGNGだいぶわかってきたけど、初めはどうしたらいいとおもう?
0240デフォルトの名無しさん
NGNG距離の二乗で割るのが正しいのか。 距離を引き算してた。
0241デフォルトの名無しさん
NGNG0242デフォルトの名無しさん
NGNGおれもテラリウムで鍛えればよかったかな。
重力は距離の2乗に反比例するからanti-gravity movementというネーミングは秀逸だと思う。
もっとも必ずしも'2'乗じゃなくてもよいということをAlisdair Owensは書いてる。
>>241
できるよ。
0243241
NGNGtry {
x = 1 / zero;
}
catch (ArithmeticException e) {
out.println("arithmetic");
}
catch (RuntimeException e) {
out.println("runtime");
}
catch (Exception e) {
out.println("top exception");
}
finally {
out.println("x = " + x);
}
これをrun() { while(true) の先頭に置いてみたのですが、finallyでの出力しかでてこないのです。。
0244241
NGNGx = Infinity
と出力されます。(そもそも例外が発生しない?)
0245デフォルトの名無しさん
NGNG> (そもそも例外が発生しない?)
その通り。Java言語仕様(JLS)第2版の§15.6には
> ●整数の除算演算子(§15.17.2)、あるいは整数の剰余演算子(§15.17.3)では、
> 右手側のオペランド式の値がゼロである場合、ArithmeticExceptionがスローされる。
とある。>>243のコードでxとzeroをint型にでもしてみるとしっかり例外がスローされるよ。
0246241
NGNGなるほどそういうことだったのかー
>>245さんありがとうです〜
0247デフォルトの名無しさん
NGNG基本的によけてれば相手が自滅してくる。。
0248デフォルトの名無しさん
NGNG0249デフォルトの名無しさん
NGNGすごいっすね。
Rumbleにウプしたらかなりいいとこまでいくのでは?
0250デフォルトの名無しさん
NGNG天皇窮屈そうに犬の後ろを歩く、哀れ。
http://www.asahi-net.or.jp/~he9n-tkis/oobakamono.mpg
0251106
NGNGhttp://www.geocities.co.jp/SiliconValley/9155/library/tippoly.html
「Robocodeマスターの秘密: 多態的な敵のキャッシュ」をアップしました。
Robocodeの最新バージョンが1.0.3になりましたね。
メソッドがいくつか追加されているので訳さなければ。
http://robocode.alphaworks.ibm.com/home/versions.txt
0252デフォルトの名無しさん
NGNGpublic class DodgeBot extends AdvancedRobot{
double previousEnergy = 100;
int movementDirection = 1;
int gunDirection = 1;
int bulletPower=1;
int count=0;
int safeDistance=30;
double bear=0;
double dist=0;
final int ROBOT_RADIUS=10;
public void run() {
setTurnGunRight(99999);
}
public void onScannedRobot(
ScannedRobotEvent e) {
dist=0;bear=0;
// Stay at right angles to the opponent
if (e.getDistance() > 230)
setTurnRight(e.getBearing()+90-30*movementDirection);
else
setTurnRight(e.getBearing()+90);
//- 90*movementDirection);
// If the bot has small energy drop,
// assume it fired
double changeInEnergy =
previousEnergy-e.getEnergy();
if (changeInEnergy>0 &&
changeInEnergy<=3) {
// Dodge!
if(count%2==0)movementDirection =
-movementDirection;
count++;
setAhead((e.getDistance()/5+100)*movementDirection);
}
// When a bot is spotted,
// sweep the gun and radar
gunDirection = -gunDirection;
setTurnGunRight(99999*gunDirection);
if (e.getDistance() <20)
fire(3);
else
if (e.getDistance() <50)
fire(2);
else
if (e.getDistance() <100)
fire(2);
else if (e.getDistance() <300||e.getEnergy()<10 )
fire(1);
else
fire(0.1);
// Track the energy level
previousEnergy = e.getEnergy();
}
}
0253↑↑
NGNG相性なんだろうけどね。TRONには勝てない。
0254↑↑
NGNG勉強のため、DodgeBot を改良しただけです。
0255デフォルトの名無しさん
NGNGhttp://www-6.ibm.com/jp/developerworks/java/020705/j_j-robocode2.html
0257106
NGNGhttp://www.geocities.co.jp/SiliconValley/9155/library/tipreuse.html
「Robocodeマスターの秘密: 拡張/再利用可能なロボット」
をアップしときました。
0258デフォルトの名無しさん
NGNGおつかれさんです。プロの翻訳も良いけど、
106さんのおかげで日本語が早く読めるので感謝してます。1009
0259デフォルトの名無しさん
NGNGどういうルールなの?
0260デフォルトの名無しさん
NGNGどっちをインストールしたら良いんですか?
0261デフォルトの名無しさん
NGNGSDKにしておけば問題はすくないかも
0262PC用語くらいちゃんと使え委員会 ◆u/7XlPOM
NGNGPCQAの答えでは不服かい?w
0263デフォルトの名無しさん
NGNGhttp://robocode.alphaworks.ibm.com/help/scoring/scoring.html
得点の計算方法はこんな感じ。
Total Score -> 総得点
Survival Score -> 他のロボットが死んだときに50
Last Survivor Bonus -> 最後まで生き残ったら10
Bullet Damage -> 弾丸によって敵に与えたダメージ1につき1
Bullet Damage Bonus -> 敵に止めを刺したときのボーナス
弾丸によってその敵に与えてきたダメージ1につき0.2
Ram Damage -> ぶつけることによって敵に与えたダメージ1につき1
Ram Damage Bonus -> 敵に止めを刺したときのボーナス
ぶつけることによってその敵に与えてきたダメージ1につき0.2
1sts, 2nds, 3rds -> 点数計算には影響を与えない
0264263
NGNGところでRobocodeはゲーム製作板向きではないと思うが。やっぱりム板だろ。
0265デフォルトの名無しさん
NGNGゲー製板に行く話でも出てたの?
0266デフォルトの名無しさん
NGNGこの板のローカルルール(どうやら今日表示されたらしい)には
> ゲーム関係の話題はゲーム製作板へどうぞ。
って書いてあるんよ。
0267デフォルトの名無しさん
NGNGああ、なるほどね。
ム板で良いんじゃないの?ちゃんと言語扱ってるわけだし。
そこらでのさばってるネタスレよかよっぽど面白いし。
0268デフォルトの名無しさん
NGNGAlphaBot: Robocodeの生みの親Mat Nelson氏へのインタビュー
0269デフォルトの名無しさん
NGNGロボットと過ごす最高の時間
0270106
NGNGhttp://www.geocities.co.jp/SiliconValley/9155/secrets/tipstrats.html
また訳してアップしました。
> Robocodeマスターの秘密: Robocodeの戦略
> このRobocodeの戦略のガイドでは、
> Gladiatorial Leagueの誕生秘話をあきらかにし、
> 移動・射撃・情報収集の戦略を異なる段階に分けて論じます。
ところでRobocode Rumbleのエリミネーションリーグがはじまったけど
誰か参戦してる?
0271デフォルトの名無しさん
NGNG敵座標の線形予測まで解説されてる
0272デフォルトの名無しさん
NGNG最後にこう書いてある
「できれば日本でも同様な大会をしたいよねということで
編集部内では考えているようですが」
Jリーグ?
0273デフォルトの名無しさん
NGNGChristian Shnellの「RoboLeague」を使えば
大会を開催できるはずなのでがんがってください。
実際Gladiatorial Leagueを主催してるのは個人(evilsimon)だし。
http://user.cs.tu-berlin.de/~lulli/roboleague/
http://www.geocities.com/evilsimon/
http://www.geocities.co.jp/SiliconValley/9155/secrets/tipstrats.html
0274デフォルトの名無しさん
NGNG日本人が作ったっぽいロボット"Takeru"が健闘してる。
■ このスレッドは過去ログ倉庫に格納されています