最新版は ここ にある
| 最終更新日 | 2002/5/23 |
| 訳した日 | 2002/10/10 |
java -jar roboleague.jar
と打つとかしてRoboLeagueを起動する
最初に起動したときにrobocode.jarの場所を聞かれる
インストールしたフォルダのlauncher.propertiesを消せば、また聞いてくれる
もし動かなかったら作者に
メール下さい
いっしょに直しましょう
その競技者のセットでいくつかのシーズンを行う
それぞれのシーズンでいくつかの異なるグルーピングが行われる
それはOpponents per groupingとFocused competitor
によって決められる
グルーピングはシーズンの中でユニークな、競技者のサブセットである
そのサイズはOpponents per groupingで決められる
もしもグルーピングサイズの値が競技者の数よりも大きい場合には、後者の値が代わりに使われる
Focused competitorを指定しない場合は、可能な全てのグルーピングが行われる
指定した場合には、その競技者を含むものだけが実行されまる
シーズンは全部のグルーピングが終了したら完了
それぞれの競技者について点数が合計され、その大きい順に結果が表示される
Focused competitorがいる場合には、
公平にするために参加したグルーピングの数で割り算される
それぞれの競技者のシリーズ最初の順位は、
直前のシーズンの終わりでの順位となるべく近くなるようになっている
新しい競技者は一番下に加えられるが、シーズン間でドロップアウトがあるので
最初の順位は前の順位よりも小さい値になる
競技者はグルーピングの数を減らすために、いくつかのdivisionに分割される
競技者が配置される前に、昇級と降級が行われる
それぞれのdivisionの境界で、いつくかの競技者が交換される
入れ替わる競技者の数はAdjacent opponentsで指定される
divisionの数はOpponents per divisionとAdjacent opponentsの値による
おおまかに言えば、divisionの数 = 競技者の数 / Opponents per division である
しかし、一番最後のdivisionに含まれる競技者の数が、
Adjacent opponentsよりも少ない場合には、一つ上と合併する
つまり、一番下のdivisionに含まれる競技者の数は
最低でAdjacent opponentsの値、
最大でOpponents per division + Adjacent opponents - 1 となる
leagueのシーズンは、すべてのdivisionでシーズンが終了したときに完了する
divisionはシーズンの最終順位を出すために、leagueに構築され直される
これは通常divisionの単純なつなぎ合わせによって行われますが、
最初のシーズンについてはFirst season modeによって設定される
interleavedを用いることによって、安定した結果を得るためのシーズンの数を減らすことが出来る
RoboLeagueはインターネット(例えば
Robocode Repositoryや
Bot Exchange
)
に接続してロボットをダウンロードすることも出来る
メニューからRepository / Access Internet Repository
を選択して現在のrepositoryへとダウンロードする
directoryはsymbolic な class と version の名前と、
実際のclass と version の名前とを結びつけるために使われる
これは'non-confirming'なclass と version の名前をリネームするために必要である
RoboLeagueと一緒に配布されているものを編集することも、
独自に作ることもできますが、作者は完璧なdirectoryを集めようとしている
directoryはCollections、Robots、Releasesの3つのレベルを持った木構造である
'conforming'な名前を持つロボットはそのパッケージ名をCollection name、
クラス名をRobot name、versionをReleaseとして持っている
多くの古い壊れたロボットがある
私のdirectoryを見てもらえれば分かる
3つのレベル全てを編集することが出来る
そして、メニューからCompetition / New / Divisionを選ぶ
Competitors...ボタンを押すと競技者を選択できる
OKをクリックしたときに新しいdivisionのファイル名を聞かれる
そしてメニューからCompetition / New / Leagueを選ぶ
divisionを作るときの設定に加えて以下が現れる
シーズンはいつでも中断することができる
またRoboLeagueを終了しても状態は保持される
シーズンの結果はXMLとHTMLのファイルとして保存される
内部的にはXMLで扱われ、XSLTでHTMLに変換される
divisionの結果は1つのファイルにleagueの結果はフォルダに収められる
Competition / Transform resultsを選択すればHTMLファイルを再生成することが出来る
divisionサーバを起動するには、Dos窓を開きRoboLeagueのところへ移動し、
DivisionServer
とする
MyServer1という名前でサーバーを立てるには
start DivisionServer MyServer1
とする
スタートアップ情報が表示され、最後に
DivisionEngine server started and bound to 'MyServer1'.
と表示される
違う名前を指定すれば1台にいくつでもサーバーを立てられる
同じ名前を指定すると、アクセスできないインスタンスが作られる
RMI レジストリサーバを予め実行する必要はない
divisionサーバはデフォルトの1099番ポートを使う
しかし、別々にそれらを実行することも可能である
いくつかのサーバを動かした後、RoboLeagueを実行し、
Settings / Remote engines...を選択し、各サーバをリストに加える
サーバがローカルマシンにあればそのまま指定し、そうでない場合は
//host/name
である
例えば、myserver.dyndns.orgに登録されたMyServer1であれば、
//myserver.dyndns.org/MyServer1
となる
次にleagueを実行したときには全てのサーバーが使われる
3つの異なる色で状態が表示される
またReleaseノードは2色で状態を示す
いくつかのサンプルとAPIの使い方については BeanShell documentation を参照のこと
This product includes software developed by the Apache Software Foundation (http://www.apache.org/).
Special thanks go to: Mathew Nelson for all his support, Alex, Simon, Michael, Eiivind, Miguel, the rest of the Robocode community and Ted.