パーソナルブログメモリ

a = [1, 1]
for _ in "*" * 999: a += [sum(a[-2:])]
print(a)

CodinGame2022秋コンテストはじまる トップが完璧すぎて笑う

2022-12-13 | CodinGame

コンテスト開始

今日の0:00からコードバトルのコンテストがはじまる。

今回は割とガチバトル系

 

ルールとストーリー意訳

鋼鉄の資源が広がる荒野にて、ロボット作成、リサイクル資源回収に走り

鋼鉄の大地を多くゲットしたものが覇者

ストーリーはこんな感じ

リサイクル資源回収は鋼鉄の大地を全て剥がし、大地は緑にかえる

データ構造

今回はターン毎の情報が地形とユニット別ではなく

地形の位置ごとにまとめてドカッとくるのが特徴

どうデータ化しようか悩む

 

データ加工案

とりあえず、地形を位置用のクラスに放り込んで

そのクラスの生成時、ユニット情報があればユニットクラスに入れるようにしてみた

あと探索用にいつもの2D文字マップを作成(追加実装の1'で利用)

 

初期実装

1 ランダム移動

2 スポーンできる場所にスポーン

まだルールはぼんやり把握

 

追加実装

1 移動2手読みで相手か未知の場所へ移動

1' 移動7手読みで相手か未知の場所を評価

2 状況によってタイムアウトしだしたのでタイムカットを追加)

3 ユニット指定数以上で分割移動

実装したプレイ画面が、上画面の左側の青さんチーム

 

その後の予定

そのあと、だいたいルールを把握して

現状スポーン位置が左上になるのはなんとかしたい

陣地広げたら、リサイクル施設で分断しようとか考えていて

 

トップを召喚してバトル

ふと世界トップと競えるのは今の内だからなーと現時点で世界一の方

と戦ってみたのが上画面、右の赤さんチームがその時点の世界一ランカー

 

トップのAIの感想

適切に広げて、有利な状況ですばやく分断

勝利確定で無駄なユニットは作らない

1ユニットだけ残して勝利とか、完璧すぎて笑ってしまった

 

作りたいものは、すでに完成していた

 


最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。