Naoki Kurosawa
naoki_kuros****@ybb*****
2003年 4月 2日 (水) 15:48:30 JST
黒澤です。 延び延びになっていた、melee時のデータ構造についての説明です。 結論から言うと、1on1とmeleeでデータ上の違いは、 1.leaguesテーブルのgrouping_opponentsが1on1なら"2"、 meleeなら2より大きい数字(=division_opponents)になっている。 2.1つのdivisionのバトル数が、1on1なら(division_opponetns)!、 meleeなら1つになっている。 3.1つのbattlesに従属するbattle_robotsが1on1なら2行、 meleeなら2より大きい行数(=division_opponents)になっている。 の3点です。 中央サーバシステム上1on1とmeleeで異なる動きをするところは、 対戦組み合わせ生成のところのみなんですが、 ここでは上記1のgrouping_opponentsが2かそれ以外かで 動作を変えるようになっています。 中央サーバと分散サーバの通信のところは、 BattleSpecのBattleRobot[] の値の数が、2より大きい数になるので、 その結果、Robocodeに渡るRobotの数が増え、 Robocodeから返される結果の数が増える、 ということになり、 BattleResultのRobotResult[] の値の数が2より大きい数になる、 ということになりますが、配列の値の数が増えるだけで、 動作上1on1とmeleeで特別な動きはしていません。 こんな説明でいいですか? -- Naoki Kurosawa <naoki_kuros****@ybb*****>