ム板のみんなで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
君のマシーンは生き残れるか!?
0552デフォルトの名無しさん
NGNG> ただいま海外勢について研究中
日本のコンテストはRumbleより高レベルになるのかな?
0553デフォルトの名無しさん
NGNG自己判断でいいの?
例えば今プログラム初めて五ヶ月とちょっとだったら大会始まる頃には
六ヶ月越えるかもしれないよね。
0554デフォルトの名無しさん
NGNG0555デフォルトの名無しさん
NGNG参加者は5人程度か。
0556デフォルトの名無しさん
NGNGそんな寂しいことを言いなさんな。。
0557デフォルトの名無しさん
NGNG0558デフォルトの名無しさん
NGNGスクリメッジ?でもなんでもいいからやってもらわないとわかんないじゃないですか
っていうかプレシーズンリーグはいつやるんだろう
0559デフォルトの名無しさん
NGNGシーズン3で終わりではないのか???
0560デフォルトの名無しさん
NGNGバトルフィールドの右下隅ですか?
それと、「移動しながら弾を撃つ」といった動作はできるのでしょうか?
0561デフォルトの名無しさん
NGNG過去ログ嫁
0562デフォルトの名無しさん
NGNGwidth=幅
height=高さ
英語知らないのか?w
advancedrobotってクラスを使えばよし。
IBMが提供するドキュメントくらいは読まないとダメだよ。
0563デフォルトの名無しさん
NGNGというか説明通りにやっても以下のようなエラーが出ます。
おそらくRobotを継承したクラスが見つからないってことだと思うんですが、
手もとのPC上では問題なく動きます。
『アップロード失敗: ZIP file must have at least one entry』
ちなみに自分の行った手順を書きますので何か注意があれば教えてください。
1 ロボットの作成
2 「Package robot for upload」にてjarファイルを作成
3 できたjarファイルをhttp://www-6.ibm.com/jp/event/robocode/robojcup/upload.jspの
ファイル名に指定
4 送信
合っているはずなんですけど。。。。
ちなみにユーザーIDとjar作成時に指定する作者名とロボットのパッケージ名の間に規則は
ないですよね。例えばユーザーIDとパッケージ名は同じにするとか。。。
気になる点があれば教えて下さい。不戦敗は嫌なので。。。。
0564デフォルトの名無しさん
NGNG何が動くの?
0565デフォルトの名無しさん
NGNGすいません、ロボットが動くと言うことです。
jarファイルの中にロボットが入っているということを言いたかったんです。
0566デフォルトの名無しさん
NGNGてっきりロボットが見つからないっていうことだと思ってわざとロボットの入っていないjarを
登録したら『.jarファイルにロボットが含まれていません』っていう風になりました。
既に使われている名前またはパッケージってことですかね?
戦 い た い で す 。
0567デフォルトの名無しさん
NGNG> getFieldWidth()とgetFieldHeight()で得られる座標は、
RobotクラスのgetBattleFieldHeight()と
getBattleFieldWidth()によって
バトルフィールドの高さと幅が得られる。画面右上隅に対応する。
>>562
advancedrobotクラスじゃなくてAdvancedRobotクラス。
>>566
> ZIP file must have at least one entryってどういう風に解釈したらいいんでしょう?
わからん。
> 既に使われている名前またはパッケージってことですかね?
違う。
ここらへんのページが参考になるかも。
http://robocode.alphaworks.ibm.com/help/uploading/uploading.html
http://www.geocities.co.jp/SiliconValley/9155/help/uploading.html
0568デフォルトの名無しさん
NGNGありがとうございます。
Javaで使用する座標系は左上が原点(0,0)と思い込んでおりました。
吊ってきます・・・
0569デフォルトの名無しさん
NGNG>Javaで使用する座標系は左上が原点(0,0)と思い込んでおりました。
そうなんですよね。
最初は戸惑いました。
0570デフォルトの名無しさん
NGNG0571一応トリップ ◆xSK1SiC5MI
NGNGショボイネタしかないがが勘弁してくれ。
・レーダーを単体で回転させるより、砲塔と連動で回す事でより早く回転。
例えば全体をスキャンするのに必要な時間は…
レーダー単体…360/45=8単位時間
レーダー・砲塔・車体を同時回転…360/(45+20+20)≒4.2単位時間
・団体戦では、敵の攻撃を他の敵を盾にして避ける戦法が割と効果的かも。
弾は見えなくても敵は見えるし、射線を遮れば弾が当たるはずは無い。
それに巧くいけば、撃った敵と盾にした敵同士をマッチングできる。
wallの強さもこの辺に秘密が…とは言い過ぎか。
・敵弾を自弾で相殺する戦法も考えたが、固定砲台同士で撃ち合いさせても
高確率ですり抜けるので無駄っぽい。
0572デフォルトの名無しさん
NGNGっていうか初心者です、すいません。
次の二つのコードでは何が違ってくるのでしょう?
// type 1
setTurnGunRight(100);
setFire(1);
// type 2
setFire(1);
setTurnGunRight(100);
というのも非ブロックで動く時、銃の向きを変えてから撃つのか?
撃ってから向きを変えるのか?
1刻時に砲台は20度回る時、最初に撃つか最後に撃つかで最大20度の誤差が
出てしまいますよね?
取りあえず試してみましたがよく分かりません?
誰か分かりますか?
0573デフォルトの名無しさん
NGNG漏れはtype 2で書いているけど、このときはfireしてからturnGunをしているよ。
type 1でも同じだと思うけど。
0574デフォルトの名無しさん
NGNGやっぱり同じですよね。
結局はキューにset****()をためてせーので実行してるって感じですもんね。
今俺は60度右に撃ちたいときは
turnGunRight(60);
setFire(1.5);
ってやってるんですけど、基本的に正しい方向に撃ってくれるんですよ。
なんだかふと>>572のことが疑問になっちゃいまして。。
だから質問と言うよりはみんなはどうしてるんだろ?、みたいな感じなんですよ。
0575デフォルトの名無しさん
NGNG0576デフォルトの名無しさん
NGNGFAQによると、まず弾が動いて、それからロボットが動作するらしい。
setFire()したらそのターンで弾が発生するはずだから、
つまりsetTurnGunRight()を実行する 前 の角度で発射するはず。
>>574
turnGunRight()ってあんた... ( ゚д゚)ポカーン
0577デフォルトの名無しさん
NGNGBulletItemのメンバ
public double Distance;
public double EnemyVelocity;
public double EnemyBearing;
public double firePower;
public double Deviation;
public double DeviationAngle;
public double Duration;
public boolean OneOnOne;
何が何かわかる?
0578デフォルトの名無しさん
NGNGごめん、素で間違えたよ。
でもいい情報をありがとう!
なんだか胸がすっきりしましたよ。
今日ms.Aresと10回タイマンで勝負して8回勝ったのが以上にうれしかった。
ただ、Ares依存な戦略だからなぁ。
ほかのやつには勝てない罠。
0579デフォルトの名無しさん
NGNG> 今日ms.Aresと10回タイマンで勝負して8回勝ったのが以上にうれしかった。
それはかなり強いんじゃないの、すごいね。
0580デフォルトの名無しさん
NGNGもっとソースコード量の少ないものから読んだらどう?
ほんとに全部わからんのか?
それぞれを代入してるところをみればわかるはず
たとえばDurationはDistance/My.getBulletVelocity(firePower)となってるわけで
そのまま相手までの距離を算出したfirePowerを引数にした弾の速度で割ってるわけだ
これでどんなことに使われるかわかるよな?
OneOnOneは1on1なのかmeleeなのかのflugでしかないんじゃないか?
代入してるところを探すとYngwie.javaの111行目あたりに
OneOnOne (getOthers() == 1);
ってあるよな?
つまりほかのロボットが1体の時はOneOnOneモードってこった
EnemyVelocityやEnemyBearingまでほんとにわからんのなら
Yngwieのソース読む前にsampleとrobocodeAPIを嫁
0581580
NGNGこれは
OneOnOne = (getOthers() == 1);
の間違い・・・
たまに親切心なんか出すからこんなことになるんだYO
逝ってきます(鬱
0582デフォルトの名無しさん
NGNGいや、10戦8勝とはいえ最初から1対1で戦ってたからねぇ。
1対1でいいならLumpとも10戦7勝で勝ったよ。
しかも動きに関しては全部で10行未満のコードで。
砲台の操作が鍵なのかなぁ?
とはいえ1対多の試合だと全然だめ!
だから実際の試合では結局勝てない。。。。
いまからこの弱点を克服します。
初心者の部での優勝を目指して。。。。。。
(↑夢ぐらい見たっていいじゃないですか。。。)
0583582
NGNG反重力移動を実装したロボットって多いと思うんですけど、重力点はどのように
決めてますか?
俺の場合、基本的には敵の位置、弾丸の位置、壁、中心付近の一点っていう教科書
通りな決め方なんですけど、いまいち良くない。
動きにランダム性が出にくいというか、弱いというか。。。
0584デフォルトの名無しさん
NGNGそのままだとコーナにはまって多数のRobotに乱れ打ちされない?(藁
漏れはまだ弾の位置を含めてないのでどこにいても
乱れ打ちされてかなり鬱・・・
ランダム性はどやってだすのがええのかのぉ?
適当なことやると今度は壁がいやんな感じになる・・・さらに鬱
0585583
NGNGそう! そうなんすよ!
んで、コーナーにも重力点をおいたらコーナーからちょっと離れたところで
はまってしまうし、、、ほら、強いロボットってある程度の範囲の中を縦横無尽に
動き回ったり、的確に弾丸を避けたりっていうふうにランダムっぽさを出しつつきっちり
制御できているじゃないですか。
あれはどうやるのかなぁって。。。
それとも俺みたいな弱いロボット前後に揺れてろってことですかね?
0586584
NGNG今ちょいと改良中
ランダムっぽさとやらがうまくいったら
ここに・・・・書かないな(藁
強い奴って反重力移動のみというわけではないだろうし微妙かと・・・
漏れもYngwieみたいなながーいソース読みこなすスキルは無いし(鬱
0587585
NGNG>>それとも俺みたいな弱いロボット前後に揺れてろってことですかね?
って書いたけど実はこれも弄れば使える戦略なんですよね。
582は俺なんだけど、AresとLumpに勝ったのも基本的に揺れているだけ(藁
ただ、揺れてるだけだと捕まっちゃうけどね。。
なんだかRobocodeばっかやってたら普通にアプリを書きたくなってきた。。(撃つだ市脳
0588デフォルトの名無しさん
NGNG震えたり、誰かが爆破されたら笑ったりするような楽しいロボット作ろうかな?
0589デフォルトの名無しさん
NGNG0590デフォルトの名無しさん
NGNG> 1対1でいいならLumpとも10戦7勝で勝ったよ。
Lumpに10戦7勝できるなら、日本のコンテストでは圧勝出来ると思うぞ。
0591デフォルトの名無しさん
NGNG忘れました。。。検索してみては。。。
>>590
ところがどっこいいわゆる強豪ロボット6個ぐらいとサンプルをすべてまぜて(19機)
50試合させると10位から7位ぐらいにしかならないんですよ(平均的には8位か7位)
つまり大勢で試合させるとAres, Lump, yngwieなどのいわゆる強いロボット全てに
負けてその上たまにサンプルに負けちゃうんですよ。
要するに敵がいっぱいいると弱いんです。
そして一対一でも安定性がない!
たまに角にはまってすぐ負けたりするし、、、
取りあえずもう少しがんばってみます。
ちなみにLumpとAresに勝った方法は、三つのシンプルな移動アルゴリズム
(揺れる、ストップ&ゴー、、、等)をローテーションして、攻撃アルゴリズムは
現在の状況に一番近い過去のデータを引っ張ってきてそれを修正して撃つ。
これだけなんです。誰でもできますよ、俺もプログラムを初めて半年弱ですから。
0592デフォルトの名無しさん
NGNGむ?もしかしてその攻撃アルゴリズムはパターンマッチングを使った照準算定かな?
今おれはそれを実装しようとふんばってるところなんだけど。
0593591
NGNGえ!?いや、そんなにたいしたものではないですよ。。。
ふと思い付いて実装してみただけなので。。。
そのパターンマッチングに関するドキュメントってあるんですか?
あ!?ごめんなさい、自分で探します。
0594デフォルトの名無しさん
NGNGパターンマッチングって、下手な実装すると
すごい時間かかるんじゃないの?
これから組み込もうと思ってるんだけど...
SkippedTurn発生しまくりの予感。
0595593
NGNGみんなが考えてるよりもあるかに単純なコードなんですよ。
その証拠にスキップは一回するかしないですし、その一回
はファイルの読み込みだと思われますし。。。
でもずいぶん単純なコードの割には当たる確率がずいぶん
あがったんですよ。
だから完璧を目指さない方がかえっていいのかな?って思ったりして。。。
0596デフォルトの名無しさん
NGNG0597592
NGNG勉強させてもらってる。多分Vapourあたりもパターンマッチングを使ってるんじゃないかな。
http://www.realj.com/robots/MogBot.html#aiming
http://robocoderepository.com/jive/thread.jsp?forum=18&thread=706
http://robocoderepository.com/jive/thread.jsp?forum=18&thread=706&start=15&msRange=15
0599デフォルトの名無しさん
NGNG既出?
http://www.javadeveloper.jp/static/robocode/0212/
0600デフォルトの名無しさん
NGNG0601デフォルトの名無しさん
NGNGグッジョブ!
と、思ったけど、内容的にはたいしたこと書いていないなぁ。
いや、599さんは悪くないしナイス情報提供だと思うんだけど。。。
この時期になってそのレベルの話が雑誌に載るとは。。。
とはいえ、それ以上のことを書かれると困るがな(藁
っていうか、学生の部に一つ強いのがいて勝てない。
どうっすかな〜?
0602デフォルトの名無しさん
NGNG> どうっすかな〜?
どのロボット?
WhiteCowardは一位になっている割に、あんまり強くない印象だし。
Novice03とBeginner01が、わりと単純な動きなのにmeleeで強いような…。
あんまりダウンロードしていないから、他にも強いロボットがあるかもしれないけど。
0603デフォルトの名無しさん
NGNGそそ。
WhiteCowardって、1vs1だとMyFirstRobotの方が強いね…4行のやつ。
0604デフォルトの名無しさん
NGNG0605デフォルトの名無しさん
NGNGそうだね。
IBMがもっと試合をやってくれないとダメだと思う。
>>603
冗談かと思ったら、ホントなのね。
でも俺のはWhiteCowardにボロ負けする。ってことは…
>>601
で、どれ?
0606601
NGNG会話の流れ的に言いにくいんだけど、『WhiteCoward』に勝てない。
苦手なタイプなのよ、きっと。
そしてやつにとって俺は狙いやすいタイプなのよ。
つまり相性が悪いのだと思う(と願いたい)
いない?そういうやつ。
でもおかげさまで自分の弱点が分かったから今改善中。。。
克服したら・・・・、がはははははははh!
そういえば一部でアメリカの大会よりもレベルが高くなるって
話を聞いたけど、そういうこともなさそうだね。。。
それとも上級レベルはすげぇのかなぁ?
見てないからわかんねーや。
そういや、みんなのロボットの調子はどう?
0607602
NGNGIwan00とかKiBotが、結構、強いと思う。
他に強いロボットを見つけたら、教えて欲しいな。
(相性の問題があるので、公式リーグの結果は参考程度にしかならないし)。
俺のロボットは、そのIwan00とかKiBotには勝てるようになってきたので、
ちょっと自信あり。
0608601
NGNG他に強いのかぁ。。。
目立って強いのはないんじゃないかな?
トップ3ぐらいのロボットをダウンロードしてみては?
俺は学生の部のトップ20をダウンロードしちゃった。。。。
思ったよりも苦戦。。。(泣
0609デフォルトの名無しさん
NGNG>IBMがもっと試合をやってくれないとダメだと思う。
RoboLeagueを自前で開催すべし
0610デフォルトの名無しさん
NGNGたとえばHitRobotEventなら0.6のダメージを受けた後のエネルギー
なのかな? それとも受ける前?
0611デフォルトの名無しさん
NGNG一度実行したノンブロッキング処理(setTurnLeftなど)
をexecute()した後
取り消す方法はどうすればいいんでしょうか?
例えば、
setAhead(dist);
excecute();
//ちょっと進む
***()//止まる
って事はできないのでしょうか?
0612デフォルトの名無しさん
NGNGsetAhead(dist);
execute();
setAhead(0.0);
execute();
これでいけるはずだが。
0613おほほ
NGNG0614デフォルトの名無しさん
NGNG痛っ!
0615デフォルトの名無しさん
NGNG0616デフォルトの名無しさん
NGNGどゆこと?
0617デフォルトの名無しさん
NGNG俺615じゃないけど、昨日の夜見えなくなってたよ。
なんか修正したりしてたんじゃない? 知らないけど。。。
今では見えるみたいだからご安心を。。
0618デフォルトの名無しさん
NGNG戦意喪失
0619デフォルトの名無しさん
NGNG0620デフォルトの名無しさん
NGNGでも強いrobotつくれん
0621デフォルトの名無しさん
NGNG漏れも動きの種類を増やそうとしておかしくなった
今全体を書き直しようやく動き始めたYO
0622デフォルトの名無しさん
NGNGありがちだよね…。漏れもときどき組んでてわけ分からなくなることあるよ。
今日も新戦略だ!とかいって新たにメソッド起こしたら、あさっての方角に
弾丸を放つようになってしまった…現在鋭意デバッグ中。
(でも明日も仕事だ…早めに切りあげざるをえん…鬱)
0623デフォルトの名無しさん
NGNG思わずageてしまった…ゴメソ。
どうやら意識が朦朧としてきたらしい…やっぱりおとなしく寝よ。
0624618
NGNG俺もがんばろうっと。取りあえずまともに動くようにはなった、というか
619が言うようにちょっと強くなった。
多分こうやっってRobocodeにはまっていくんだろうな。。。
0625621
NGNGちょっと強くなったってのはどういう指標で判断してるんだろ?
漏れのrobotは良いときは10体中トップとってみたり悪いと9位くらいまでおちる
さすがにエラーで止まったとき以外はペケはなかった気がするが10戦だとかなり変動があるね
500戦くらいやったらほんとのレベルがわかりそうだけど時間がかかるしな
今は寝る前に200〜300戦仕掛けて朝結果をみてます
みんなどうやって自分の強さを計ってる?
0626デフォルトの名無しさん
NGNG今からでも大丈夫ですか?
いちおうCとVBとDelphiは経験ありますが、JAVA初心者です。
0627デフォルトの名無しさん
NGNG大丈夫。結構楽しめるはず。
それに現在日本IBMが主催している競技会が終わったとしても
誰かが競技会を開いてくれるんじゃないかな。それに参戦するもいいだろうし。
0628デフォルトの名無しさん
NGNGなんで初心者部門に出せないんだとか思いつつ。
0629デフォルトの名無しさん
NGNGウィンドウを最小化しておくと早く終わるよ。
ちなみに漏れのロボットは、
根本的な問題をハケーンして書き直し中...(´Д⊂
0630デフォルトの名無しさん
NGNGhttp://www-6.ibm.com/jp/event/robocode/robojcup/season.jsp?gameid=34&season=6&bybot=bybot&rankst=1
ここでロボットをハイライトしている紫色がとっても見づらくないですか?
なんとかならんものかな。
0631デフォルトの名無しさん
NGNG↓ ↓ ↓
http://www.dream-express-web.com/entertainment.htm
0633デフォルトの名無しさん
NGNGつーかRoboLeague使ったら?
0634625
NGNG0635デフォルトの名無しさん
NGNGけど実装して実戦してみるとたいした効果無かったりするんだよね〜。
0636デフォルトの名無しさん
NGNG0637デフォルトの名無しさん
NGNGそれが研究ってもんだよ。
0638デフォルトの名無しさん
NGNGhttp://stsmaxi.infoseek.livedoor.com/
0639デフォルトの名無しさん
NGNG0640デフォルトの名無しさん
NGNG0641デフォルトの名無しさん
NGNGすげー謎なんだがどこが面倒?
0642622
NGNG逆効果っぷりにガクっとなることもあるし、逆に単純すぎんじゃ
ないか?と思っていたことが案外有効だったりもするし。そこが
楽しさなんじゃないかな。と言ってみたりする。
この間の弾丸が変な方に飛んでいっちゃう問題は、Mathパッケージ
のAPIの使用ミスだったことが判明して、ちょっとほっとしてる
ところ。落ちついてSittingDuckだけを狙わせるようにしてデバッグ
してみて気がついた。試行錯誤しているうちにちょっとずつうまい
こといくようになる。そうしているうちにハマっている自分に気付く
という感じかな。
ところで、自作自演カコイイヨ >>638
日記見たら果てしなく厨だった…
0645デフォルトの名無しさん
NGNG> こんなのハケーンしますた。
> http://stsmaxi.infoseek.livedoor.com/
Rbocode掲示板TOP となっています。
Rbocode -> Robocode
ではないですか?
と言ってみたりする。
0646デフォルトの名無しさん
NGNG0647デフォルトの名無しさん
NGNG俺もMathパッケージ使い方間違えたことあった。
しかもそれがRobocode用にはじめに作ったutilクラス。
これは絶対正しいっていう先入観があって見つから
ないこと、見つからないこと。。。
しかも使用頻度の薄いメソッドだったからたまにしかミスらないんだもん。
まいったよ。。。
ps...
ロボットのコメント欄に学生番号と名前入れっぱなしのやつ!
みるとやる気がなくなるだろ!
しかも同じ学校だと思われるのが数人。。。。
ちょっとうけたけどね。
0648デフォルトの名無しさん
NGNG0649デフォルトの名無しさん
NGNG学籍番号まで入れてるのは授業かなんかかね?
0650デフォルトの名無しさん
NGNG0651デフォルトの名無しさん
NGNG間に合わないっす。
もうだめぽ。。
0652デフォルトの名無しさん
NGNGRoundごとにまったくロボットが動かない時がある
エラーはでてないしDebugできん(涙
同じような症状になった人いる?
addCustomEvent(new RadarTurnCompleteCondition(this));
を使ってレーダの回転が終わってるかtestしてまふ
また他のCustomイベントとして
ttp://www-6.ibm.com/jp/developerworks/java/020930/j_j-tipbullet.html
を参考につかそのまま実装してまふ
むーん…原因がわからん
■ このスレッドは過去ログ倉庫に格納されています