ム板のみんなで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
君のマシーンは生き残れるか!?
0449デフォルトの名無しさん
NGNGthanks。
Developer Works で記事を探していた。(どおりで見つからないわけだ)
0450デフォルトの名無しさん
NGNGhttp://www.javadeveloper.jp/static/robocode/robolink.html
0451デフォルトの名無しさん
NGNGgetX()、getY()で取得される値って左下角が(0,0)ですか?
0452デフォルトの名無しさん
NGNGYngwieはそれだと強いね。
800*600でやるとSandBoxLumpがえらい強い。
SandBoxLumpはSampleTeamとやっても勝っちゃうし・・・。
回避する動きはある程度の(着弾時間?)時間たったら
半円運動してるみたいだけどそんな単純じゃないのかな。
0453デフォルトの名無しさん
NGNG>getX()、getY()で取得される値って左下角が(0,0)ですか?
そうです。
All coordinates are expressed as (x,y).
All coordinates are positive.
The origin (0,0) is at the bottom left of the screen.
Positive x is right.
Positive y is up.
Robocode のAPIドキュメントの一番最初の部分に書いてあります。
0454デフォルトの名無しさん
NGNGTHX
落ち着いてAPIに目を通します。
0455デフォルトの名無しさん
NGNG1000*1000でやってもSandBoxLumpが凶悪なまでにつよいのですが、、、
本当にYngwie 優勝できたんですか?
0456デフォルトの名無しさん
NGNGmeleeではSandboxLumpが驚異的な成績を上げたが
http://apps.alphaworks.ibm.com/rumble/botdetails.jsp?botid=921
準決勝の1対1でYngwieがSandboxLumpに勝ちそのまま優勝した。
http://apps.alphaworks.ibm.com/rumble/
0457デフォルトの名無しさん
NGNG0458デフォルトの名無しさん
NGNG買ってないのに偽装肉の代金返せとか言ってるDQNと同じ。
0459デフォルトの名無しさん
NGNGhttp://www-6.ibm.com/jp/developerworks/java/robojcup/rules.html
によれば
> 提出ロボットは参加者自己のオリジナルの作品でなければなりません。
> 第三者の権利を侵害せず、同種の賞を受賞しておらず、
> 出版にふさわしいものでなければなりません。
なので、違反ですね
>>458
それをやった人がうれしいかどうかは別にして
他の人はうれしくないね
0460デフォルトの名無しさん
NGNG0461デフォルトの名無しさん
NGNG日本のコンテストに出したら、結構いいとこいくとおもうが
0462デフォルトの名無しさん
NGNGそういう意味じゃなく、トーナメントで優勝した割りに弱いという意味でしょう。
上で何度もあがっているけど。
0463デフォルトの名無しさん
NGNG0464デフォルトの名無しさん
NGNGこれから大会を催す側にとってかなりやりにくいんじゃない?
参加する側が盛り下がっているのはどうでもいいとしても。
0465デフォルトの名無しさん
NGNG実装できないかとがんばってるのだが難しいっす。
Robocode Repositoryとかのフォーラムには
レベルの高い戦術のコンセプトが以前からたくさん書かれてるよ。
だからソースを読まなくても理解できる人には理解できるんじゃないかな。
0466デフォルトの名無しさん
NGNGMOGBOTとソクーリだった (´・ω・`)
みんなもそういう経験ない?
0467デフォルトの名無しさん
NGNG自分ちでやる分には、classpathを指定すれば良いんだけど。
クラスローダーを使わなければならんのでしょうか?
0468デフォルトの名無しさん
NGNG敵を倒したときに、コンソールに
SYSTEM: Bonus for killing ak.Fermat: 16
とか出てきますが、この最後の数字はなんでしょうか
0469デフォルトの名無しさん
NGNG0470デフォルトの名無しさん
NGNG0471デフォルトの名無しさん
NGNG文字通り"フェルマーを殺したので、ボーナス16万円"ということでは?
規定回数のラウンド終了後のスコア報告でちゃんと足されてるよね?
0473デフォルトの名無しさん
NGNGで、さっそく(笑)コンテストを意識していきたいのでつが、
コンテストの「ルール」とかはどんな感じなんでしょう?
まず 1:1 なのか 10体ぐらいで生き残りするのか というあたりが一番興味
あるのですが、なんかそんなこと書いてあるようなページありますかね?
0474デフォルトの名無しさん
NGNG0475474
NGNGhttp://www-6.ibm.com/jp/developerworks/java/robojcup/
0476デフォルトの名無しさん
NGNG0477デフォルトの名無しさん
NGNG>>473の求める事はそこにはない様に読めるが?
0478デフォルトの名無しさん
NGNGhttp://www-6.ibm.com/jp/developerworks/java/robojcup/rules.html
予選は1対1、決勝は1対1とmeleeの両方、という解釈でいいのかな…
0479473
NGNGありがとう!
1vs1とかmeleeとかそのへんが知りたかったのでドンピシャでした。探したりなくてスマンです。
いまは特定tick後の敵の位置、エネルギーをある値で発射したときの弾の移動方程式との
交点をもとめてうんぬん…つまり敵が線形に動いてるなら確実にあてることができるロジック
を磨いてます
高校の教科書とかひっぱりだして (´Д`A;)
0480デフォルトの名無しさん
NGNGあたかも、将来におけるC#とJavaの縮図。
0481デフォルトの名無しさん
NGNG0482デフォルトの名無しさん
NGNGhttp://user.cs.tu-berlin.de/~lulli/roboleague/
RobocodeにおけるRoboLeagueのようなものがあれば
おれはテラリウムをやってみたいけど。
0483デフォルトの名無しさん
NGNGhttp://www.gotdotnet.com/terrarium/server/
っていうのがあるけど、テラの場合はPeerが集まらないと面白くないと思う
http://www.gotdotnet.com/community/messageboard/MessageBoard.aspx?id=10
とか見るとUSサーバでやってる人はまだいるみたい
>>480
コンテスト前にしては書き込みが少ないと思う、何でだろ?
0484デフォルトの名無しさん
NGNG0485デフォルトの名無しさん
NGNG息は長いが盛り上がってもいない。
>>479みたいな話題がもっと出てきても良さそうなもんだが。
ちなみに線形予測は正弦定理使えばイパーツだよ。
当たるまでの時間も当たる位置も求める必要なし。
0486デフォルトの名無しさん
NGNGオフィシャルサイトから辿れるTipsの日本語訳をただ活字にしただけみたいね…。
つまんないことに。
特に後半の部分は「外套と砲塔」そのものなので、developerWorksからPDFで
入手できるのに…。
>>485
そうね。そういう話題がないと盛りあがらない。
私は、1対1のときと、複数の敵がいるときとでは戦略を変えるべきかな、とか
考えて、カスタムイベントを作成して敵が1台になったときにイベントを発行
してonScannedRobotが呼ばれたときの処理とかを切りかえるようにしている。
(Strategyパターンそのものだね…)
でもまだ防御中心にしか考えてなくて、攻撃については2の次なんだけど(藁
0487デフォルトの名無しさん
NGNGどういう基準で選んでる?とりあえず今のところおれは一番近いものを選んでる。
敵の情報のクラスのインスタンスをハッシュテーブルにぶち込んで
各ターン毎にイタレーションしながら自分のロボットとの距離が最小のものを
選んで狙うことにしているんだけど。
レーダーは1on1のときとmeleeのときでは動かし方が違うけど
Robot#getOthers()の値が1かどうかだけで変えてます。
最初はレーダー制御をするクラスを2つつくろうかと思ったが
そこまですることはなかった。
ロボットの車両の制御は複数のクラスを作ってさしかえるほうが楽だけど。
0488デフォルトの名無しさん
NGNG0489デフォルトの名無しさん
NGNG>>487
俺は標的を選ぶ時にいくつかの項目で点数をつけて一番点数の高いやつを狙ってる。
例えば距離が100以内なら5点、200以内なら4点っていう風にね。
こういうのを数項目点数化してる。主に距離と敵のエネルギーを重視してるかな?
レーダー制御は一つで十分ですね。最初張り切って敵の数によって
三種類作ったんだけど結局は一つに落ち着いた。
>>488
気持ちはよ〜く分かる
0490デフォルトの名無しさん
NGNGレーダーまでは簡単にできるんだよね。
しかしその後が難しい...
スランプに陥りますた。
0491デフォルトの名無しさん
NGNG私の場合は、距離と相手の速度かなぁ。索敵したときの相手の速度が遅ければ
とりあえずエネルギーを少なめに設定して撃ってしまえといういい加減なことを
今のところしちゃってます。本当は相手の速度を参考に線形予測くらいさせない
といけないはずなのだが…。距離が近ければそれはもうイケイケって感じでエネ
ルギーを上げて撃ってる。
>敵の情報のクラスのインスタンスをハッシュテーブルにぶち込んで
>各ターン毎にイタレーションしながら
ってところはほとんど私と一緒っぽいですね。というか、他に有効な方法って
なかなか思いつかないし。
>>489
なるほど。点数をつけるというのは良いかもしれないですね。相手の距離とか
速度とかエネルギーとかの情報を重みづけの係数をかけた線形和にして点数化
するとかね。
>>488
あはは。それは言えてますわ(涙)。私もやられっぱなし。こんなんでいいのか
なぁ…。
0492デフォルトの名無しさん
NGNG俺はドキュメントをもとに線形予測と円形予測を実装したんだけど、反重力移動
してるやつには絶対に当たらない。
取りあえず当たらないやつには乱射してやってるけどね。
最近やっと ms.Ares に勝てるようになってきた。。。
0493デフォルトの名無しさん
NGNGそこが難しいところ。
まともに線形予測とかやっても、
コンテストに出てくるようなロボットにはまず当たらない。
今のところSandBoxLumpの方法が最強と思われ。
http://www.sandbox.dial.pipex.com/robocode/
0494デフォルトの名無しさん
NGNGまだよく読んでないけど難しそう。
敵がこのまま動くときと、方向が逆転するときと、その場にいるとき
っていう風にアルゴリズムを分けて統計をとってるって感じなのかなぁ?
↑ 鬼のような早さで斜め読みしただけなのでよく分かってませんが。。(とほほ
なんかロボコードって教育効果があるって言われてるけど、どうなのかな?
プログラムに興味を持たせるっていう意味ではすばらしいけど、ちょっとしたところで
悪い癖がつきそうで。。。
0495デフォルトの名無しさん
NGNG0496デフォルトの名無しさん
NGNGなんかすごい一般論だね。そういうのとはちょと違うと思うんだが。
robocodeは(いわゆる)ゲームじゃないし、教育目的でもない。
>>494
どんな競技でも、一番上の方まで行くといろいろ問題が出てくる。
サンプルロボットたちとマターリやってるうちは楽しいだけだし、
そういう楽しみ方もそれはそれでアリなのかなと。
...とは言ってもどうせならThinkPad欲しいし。(藁
0497デフォルトの名無しさん
NGNG教育的でないゲームなど不要でしょう。
少なくとも私はテラリウムでC#、これでjavaを覚えました。
0498デフォルトの名無しさん
NGNGThinkPad欲しい!
でも照準合わせ、移動アルゴリズムっていうことに関して俺は無知だから
なかなかうまくいかないのよ。
せっかくだから大会には参加するつもりだけどね。
そういえば大会には何体ぐらいのロボットが参加するんだろ?
>>495
>教育的でないゲームなど不要でしょう。
同意!
0499デフォルトの名無しさん
NGNG> そういえば大会には何体ぐらいのロボットが参加するんだろ?
テラリウムでは1000人ぐらいだったそうです。
.NET人口よりもjava人口の方が多い事
IBMがプロモーションをがんばっている事
でもRobocodeが難しくて敷居が高い事
を考えて、私の予想ではやはり1000人ぐらいではないかと。
0500デフォルトの名無しさん
NGNGなるほど1000人ですか。。。
それだけいれば弱いやつも結構いるのかな?
目標は取りあえずThinkPadということでがんばってみます。
もし俺以外の999体がSandBoxLumpのコピーロボットだったら・・・((;゜Д゜)
0501デフォルトの名無しさん
NGNGWhat made you want to use your programming skills to create an educational game for programmers rather than a flashy game just for fun's sake?
というインタビューに
Nothing. I wrote a flashy game just for fun's sake. We discovered the educational aspect later.
と答えているんだが。
http://www-106.ibm.com/developerworks/java/library/j-nelson/
0502デフォルトの名無しさん
NGNG> と答えているんだが。
ん、それがなにか?
0504デフォルトの名無しさん
NGNG24日になったら登録サイトが公開されるんだろうか?
0505デフォルトの名無しさん
NGNGその話は別にスレ立ててやっとくなはれ。
そんなんそれぞれの解釈でよろしいがな。
0506デフォルトの名無しさん
NGNG0507デフォルトの名無しさん
NGNGまた延期だったらどうしよう...
なんか去年のYBB放置民だった頃を思い出すなあ...
0509デフォルトの名無しさん
NGNG>そんなんそれぞれの解釈でよろしいがな
たしかに。。
>>506
そういう人が多数いると思われ。
かくいう俺も・・・・。
サンプルに勝つアルゴリズムは上位のロボットにまったく歯が立たない。
機械的な方法では勝てないから柔軟性が必要になってくると思うんですよ。
(当たり前のことを偉そうに言ってみました、逝ってきます)
0510デフォルトの名無しさん
NGNG人は集まるのかね。
0511デフォルトの名無しさん
NGNG0512デフォルトの名無しさん
NGNG0513デフォルトの名無しさん
NGNG0514デフォルトの名無しさん
NGNG禿同
どうにかならんもんかな
0515デフォルトの名無しさん
NGNGまったくだ!
0516デフォルトの名無しさん
NGNGhttp://www-6.ibm.com/jp/event/robocode/robojcup/
http://www-6.ibm.com/jp/event/robocode/home/index.html
Robocode APIドキュメンテーションのオフィシャルな日本語訳もあった。ZIP形式。
JDK1.3API(英語)にリンクがはってあったけどなんで1.4や日本語じゃないんだろ。
0517デフォルトの名無しさん
NGNGとりあえず、ユーザー登録だけはしてきた。
0518デフォルトの名無しさん
NGNG新たな強敵か?
0519デフォルトの名無しさん
NGNGサンプルだと思われ。
0520デフォルトの名無しさん
NGNG0521デフォルトの名無しさん
NGNGロボットできてないけど。(;´Д`)
締め切りまでに間に合うかなぁ?
0522デフォルトの名無しさん
NGNGそれらの名前を全て *.ch2 に統一。
そして本命ロボットはこの名前のロボットがいたら集中砲火。
ボーナスいっぱい!
なんてな。
0523デフォルトの名無しさん
NGNGんで、ボーナスってなんだ????
0524デフォルトの名無しさん
NGNGまだ漏れは登録のみだが・・・
>>523
撃破するともらえるボーナスのこと
0525デフォルトの名無しさん
NGNGウワーン セミナー締め切っとるやん 鬱
0526デフォルトの名無しさん
NGNG日曜日が楽しみじゃ〜
0527デフォルトの名無しさん
NGNGなかなかつよい・・・つか勝てない
0528John ◆Re0z.4Is5E
NGNG30日くらいあるしな。
ただ、4日くらいしか使える時間がないけどな。
0529デフォルトの名無しさん
NGNGまあ、がんがってくれ。
( ´,_ゝ`)プッ
0530デフォルトの名無しさん
NGNGすぐに他のロボットにも雑魚だとバレてボーナス持ってかれる罠。
それに、本当にやったら「不正行為」とみなされて失格だろうな。
0531デフォルトの名無しさん
NGNG0532デフォルトの名無しさん
NGNG0533デフォルトの名無しさん
NGNG直接感知はできない。間接的に推測することはできる。
「外套と砲塔: ロボコードの達人たちから秘訣を学ぶ」の
「弾丸をよける」を読んでみそ。
http://www-6.ibm.com/jp/developerworks/java/020802/robocode_link.html
0534デフォルトの名無しさん
NGNGだろうね。
>>531
分からないから面白い!
ってか俺はできると思ってドキュメントを必死に探したけどな(泣笑
0535デフォルトの名無しさん
NGNG0536デフォルトの名無しさん
NGNGv1.0.3からAdvancedRobotクラスに導入された3つのメソッド
getDataQuotaAvailable(), setFire(double), setFireBullet(double)
についての記述がないので要注意。
0538デフォルトの名無しさん
NGNGおりもぬかったよ 昼飯でたみたいだし
締め切られると申し込めばよかっと思うのはなぜ
ヽ(´Д`)ノ ウワァァァァァァァァァン!!!
0539デフォルトの名無しさん
NGNG残念だったな。記念品としてIBM developerWorksのファッション時計がもらえるのに。
0540デフォルトの名無しさん
NGNGファイルに書き込んだりはできないんだ。
じゃあ、学習とかって絶対無理?
0541デフォルトの名無しさん
NGNG1回の戦闘中の間に学習して強くなる。
次の戦いでは一から出直し。
0542デフォルトの名無しさん
NGNGファイルに書き込みたいなら
RobocodeFileOutputStreamかRobocodeFileWriterを使うべし。
sample.SittingDuckのソースも嫁。
>>541
ラウンドが変わっても前のラウンドのオブジェクトのインスタンスが残ってることがあるぞ。
ソースコードはもうデリートしてしまったのではっきりしたことはいえんけど
あれは確かstaticなフィールドだった。
0543デフォルトの名無しさん
NGNG情報ありがと。
調べてみます。
関係ないけど、
あるクラスというかネイティブメソッド?か何かわからないけど
FileWriterを使えなくする機構ってのは
リフレクションAPIを使ってるんだよね?
一個一個禁止クラスを記述してるのかな・・・
0544デフォルトの名無しさん
NGNG自分で何回も実行するの面倒じゃない?
0545デフォルトの名無しさん
NGNGAdvancedRobotのgetDataFileを使えという事らしい。
RobocodeFileOutputStreamはなんのためにあるのかよくわからない。
0546デフォルトの名無しさん
NGNGeclipse等の使い慣れたエディターで
コードを作成したりはできないのですか?
0547デフォルトの名無しさん
NGNGログ参照すれ
0548デフォルトの名無しさん
NGNGサンクス
クラスパスにrobocode.jarを設定すればいいのか。
■ このスレッドは過去ログ倉庫に格納されています