こんにちは高専のOBのchigichan24です。普段はぬくぬくとぱそこんをしています。
さて、今年の高専プロコン競技部門、「ヘキサうどん」をテーマにした対抗戦をご覧になりましたか?
簡潔にまとめると複数人で情報を共有する要素もありながらも、基本的には各チームでスコアを高めていくいつもの高専プロコンっぽい競技です。せっかくなのでオンラインの練習場を作ってみました。毎時0分・15分・30分・45分 にランダムに問題が作成され、本番とほぼ同様の10チームが常に参加した競技を再現できます。
APIの設計は基本的に公式に公開されている回答システム・簡易版の回答用サーバーに準拠したつもりです。つまり、用意しているプログラムの向き先だけ https://procon37arena.online を向けてもらえれば動くはずです。もし実装ミスっているぜということがありましたらご連絡ください。
forms.gle
このブログでは主に使い方について紹介します。
使い方
同様の内容は一応 https://procon37arena.online/arena/guide にもありますが、もう少しグラフィカルで丁寧に書きます。
ユーザー登録
まずは、登録をしてください。パスワードは忘れるものなので常にメール認証の方式にしています。

ここで有効なメールアドレスを入力すると、以下のようなメールが届きます。まだ実績が少なく迷惑メールフォルダに入ることも多いので、そこだけはご不便かけます。このリンクをタップすることでログインできます。

マイページ的な画面では、最初の一回だけtokenの情報が見れたり、過去の戦績が見れたり、表示名を変えたりできます。

試合への参加
試合に参加するには、およそ3分前からtokenを使用して /settings などをGETしてください。サーバーは403を返しますが、メッセージにはそれっぽいものをいれています。成功していればその後試合情報が降ってくるはずなので、根気よく(適切なintervalで)開始時刻前後にもGETを投げてください。

参加表明に成功するとおそらく登録済みのところの数字がインクリメントされるはずです。ここは表現もっといい感じにできると思うので時間があれば改善します。
その後の流れは本番と同様です。最初のフェーズでは /agent にPOSTしてエージェント種別決定を行い、それ以降は / に対して試合状態のためにGETしたり、行動計画提出のためにPOSTしたりしてゲームを進めてください。
試合中にはこのような表記になります。

また、試合の詳細のページに行くと盤面や、どういう盤面設定なのかが確認できます。

リアルタイムに提出を反映はさせてません。これも余力があればやります。
一連の流れが終わるとぬるっと試合が終わり、自分でページ遷移することで結果が表示されます。

一応それっぽいプレイバック機能もつけました。

他にも色々ローカルで後から試せるように同じ盤面の再現のjsonなども吐き出す機能をつけてます。

免責
こちらはただ自分が作ったソルバーを動かしたいというお気持ちと現役の競技参加者にも役に立てばいいなの気持ちで作ったので、実装の正当性は保証できません。
いや、保証しているつもりではあるんですが、あくまでも非公式、この練習場でうまく動いたからといって過信しすぎないでください。
また、データを吹き飛ばさないようには努力しますが不手際で飛ばしてしまった際には本当にごめんなさい。
ということで
本選まで僅かな時間ですが、ここからが実装の本番だと思うので(?)有意義に活用してもらえると嬉しく思います。あらためて、何かありましたらフォームを通してご連絡ください。