コンテスト開始
今日の0:00からコードバトルのコンテストがはじまる。
今回は割とガチバトル系
ルールとストーリー意訳
鋼鉄の資源が広がる荒野にて、ロボット作成、リサイクル資源回収に走り
鋼鉄の大地を多くゲットしたものが覇者
ストーリーはこんな感じ
リサイクル資源回収は鋼鉄の大地を全て剥がし、大地は緑にかえる
データ構造
今回はターン毎の情報が地形とユニット別ではなく
地形の位置ごとにまとめてドカッとくるのが特徴
どうデータ化しようか悩む
データ加工案
とりあえず、地形を位置用のクラスに放り込んで
そのクラスの生成時、ユニット情報があればユニットクラスに入れるようにしてみた
あと探索用にいつもの2D文字マップを作成(追加実装の1'で利用)
初期実装
1 ランダム移動
2 スポーンできる場所にスポーン
まだルールはぼんやり把握
追加実装
1 移動2手読みで相手か未知の場所へ移動
1' 移動7手読みで相手か未知の場所を評価
2 状況によってタイムアウトしだしたのでタイムカットを追加)
3 ユニット指定数以上で分割移動
実装したプレイ画面が、上画面の左側の青さんチーム
その後の予定
そのあと、だいたいルールを把握して
現状スポーン位置が左上になるのはなんとかしたい
陣地広げたら、リサイクル施設で分断しようとか考えていて
トップを召喚してバトル
ふと世界トップと競えるのは今の内だからなーと現時点で世界一の方
と戦ってみたのが上画面、右の赤さんチームがその時点の世界一ランカー
トップのAIの感想
適切に広げて、有利な状況ですばやく分断
勝利確定で無駄なユニットは作らない
1ユニットだけ残して勝利とか、完璧すぎて笑ってしまった
作りたいものは、すでに完成していた