codingame:SPRING CHALLENGE 2023WOODリーグ ルール翻訳
こちらは年2回開催される、botプログラミングバトルCodinGameの「SPRING CHALLENGE 2023」のルールを翻訳したものです。 www.codingame.com
ツカモさん(tsukammoの収穫記)がルールを要約してくださるのが恒例となっていましたが、今回お忙しそうだったので、僭越ながら簡単に訳しました。
ツカモさんのようなわかりやすい要約ではなく、DEEPLにつっこんだものを簡単に修正したものです。記載内容の保証はできません。すみません。
5/26 18時ツカモさんのブログが更新されました。codingame:SPRING CHALLENGE 2023 ルール要約 - tsukammoの収穫記
目標
対戦相手よりも多くのクリスタルを獲得した状態でゲームを終了すること。 ゲームの舞台は研究室で、アリロボを担当する2人の科学者が、クリスタルを最も効率よく集める方法を求め、競っている。
ただし、アリを直接コントロールすることはできない。アリはビーコンの存在に反応する。
ルール
ゲームはターン制で行われる。 各ターンでは、両プレイヤーは同時に任意の数のアクションを実行する。
マップ
マップはランダムに生成され、六角形のセルで構成される。
各セルはインデックスを持ち、最大6つのセルと隣接する。各方向には0
から5
のラベルが貼られている。
各セルにはタイプ
があり、そのセルが何を含んでいるかを示す。
0
リソースが含まれていない場合。1
卵が含まれている場合。(Level2 WOOD2)2
クリスタル資源が含まれている場合。
また、各セルに含まれるresources
(資源)の量も入力で与えられ、ゲーム中にアリがセルを収穫することで変化することがある。
また、セルに拠点がある場合もあり、プレイヤーのアリはここからゲームを開始することになる。
アリとビーコン
両プレイヤーとも、自分の拠点に数匹のアリが配置された状態でスタートする。プレイヤーはアリを直接動かすことはできないが、ビーコンを置くことでアリを動かすことができる。
プレイヤーは1ターンに何個でもビーコンを置くことができるが、各マスに1個ずつしか置くことができない。
ビーコンを置くとき、プレイヤーはそのビーコンにstrength
(強度)を設定する必要がある。ビーコンの強度は重みのようなもので、それぞれのビーコンに送られるアリの割合を決定する。
つまり、ビーコンのstrength
が強ければ強いほど、自分のアリがそのビーコンに送られる割合が高くなる。
例
次の例では、strength
が2,1,2の3つのビーコンが存在する。
アリは1ターンに1セルの速度で移動し、指定されたビーコンへの最短経路を通るように最善を尽くす。
ターン終了後、次のターンが開始するまでの間に、既存のビーコンはパワーダウンし、プレイから取り除かれる。
ビーコンを使ってアリを配置し、自分の拠点と資源との間に収穫チェインを張ろう。
収穫チェイン
クリスタルを収穫して得点を得るには、資源と自分の拠点の間に、アリを含むマスが途切れることなく連なっている必要がある。
1ターンに収穫できるクリスタルの量は、チェインの中で最も弱いリンクと同じ、つまり連鎖を構成するセルのアリの数のうち、最も少ない数である。
収穫チェインは卵に対しても同様に機能する。 卵を収穫すると、資源と同じ数のアリが次のターンの開始時に自軍の拠点にスポーンする。 (Level2 WOOD2)
収穫量は各資源ごとに別々に計算され、それぞれの資源について、そのマスから自分の拠点までの最適な収穫チェインがゲームによって自動的に選択される。
行動
各ターンにおいて、プレイヤーは以下の行動を任意の数だけ行うことができる。
BEACON
index
strength
:strength
の強度をもつビーコンをindex
のセルに配置する。LINE
index1
index2
strength
:index1
からindex2
までの道筋にあるセルすべてに、strength
の強度をもつビーコンを配置する。最短経路は自動的に計算される。WAIT
:何もしない。MESSAGE
text
: HUDの自分側にtext
を表示する。
各ターンの行動順
LINE
のアクションが実行される。BEACON
のアクションが実行される。- アリが移動する。
- クリスタルが収穫され、得点となる。
- 卵が収穫され、新しいアリが拠点にスポーンする。(Level2 WOOD2)
勝利条件
マップ上のクリスタル総量の半分以上を獲得する。
100
ターン後に相手より多くのクリスタルを獲得している。
敗北条件
プログラムが決められた時間内にコマンドを出力しない、または認識できないコマンドを出力した。
デバッグのためのヒント
タイルにカーソルを合わせると、ビーコンのstrength
など、そのタイルに関する追加情報が表示される。
MESSAGE
コマンドを使用して、HUDにテキストを表示できる。
ビューアの歯車アイコンを押して、表示オプションを追加する。
キーボードでアクションを操作する:スペースで再生/一時停止、矢印で1フレームずつステップする。
ゲームプロトコル
初期入力
最初の行: numberOfCells
マップ内のセルの数を表す整数。
次のnumberOfCells
行: セルをインデックスで並べたもの 各セルはスペースで区切られた8個の整数で表される
- タイプ:
1
: 卵2
: クリスタル0
:それ以外 initialResources
: ここにあるクリスタル/卵の量。- 6つの
neigh
変数: 6つそれぞれが各方向に対応し、隣接セルのインデックスを含む。隣接セルがない場合-1
(Level2 WOOD2)
次の行: numberOfBases
このリーグでは1が与えられる。
次の行: numberOfBases
自軍の拠点が存在するセルのインデックスを表す整数。
次の行: numberOfBases
対戦相手の拠点が存在するセルのインデックスを表す整数。
毎ターンの入力
次のnumberOfCells
行: 1つのセルにつき1行、セルのインデックスの順に並ぶ。1つのセルにつき3つの整数が入力として与えられる。
resources
: そのセルにあるクリスタル/卵の量。myAnts
: そのセルにいる自軍のアリの数。oppAnts
: そのセルにいる対戦相手のアリの数。
出力
あなたの行うすべての行動を;
で区切って1行で出力する。
BEACON
index
strength
: 1ターン持続するビーコンを設置。LINE
index1
index2
strength
: 2つのセル間の道筋に沿ってビーコンを配置する。WAIT
: 何もしない。MESSAGE
: 自軍のHUDにテキストを表示します。
制約
numberOfBases
= 1
各ターンの応答時間 ≦ 100ms
1ターン目の応答時間 ≦ 1000ms
5/26 17時ごろ ainemがWOOD1リーグに昇格し、LEVEL2のルールが開放されたので、追記しました(緑帯の文)