Skip to content

Latest commit

 

History

History
79 lines (55 loc) · 4.45 KB

tutorial.md

File metadata and controls

79 lines (55 loc) · 4.45 KB

チュートリアル

このドキュメントでは、コンテスト参加者がサンプルのBotを動かし、改善する際の参考手順を説明します。

まずは 問題概要スライド問題概要 に目を通し、ゲームの概要を把握してから始めてください。

1. TOKENを取得する

ポータルサイト にユーザー登録してログインし、画面中央に表示されているトークンをメモしておきます。

詳しくはポータルサイトの使い方を参照してください

2. サンプルbotをダウンロードする

以下のいずれかから、自分が使用したいプログラミング言語のサンプルをダウンロードしてください。 手元のPCにビルド環境・実行環境が整っている必要があります。

このチュートリアルでは Python を使用して説明します。

3. サンプルbotを動かす

ダウンロードしたサンプルプログラムを編集して、YOUR_TOKEN という文字列をメモしておいた自分のトークンで置き換えます。

編集したプログラムを実行します。サンプルbotはゲームに自動的に参加して回答を送信します。

Pythonの例:

py$ python -m pip install -r requirements.txt # 依存パッケージのインストール
py$ python main.py # サンプル実行
https://2024.gcp.tenka1.klab.jp/api/state/xxxxxxxxxxxxxxxxxxxxxxxxx
https://2024.gcp.tenka1.klab.jp/api/state/xxxxxxxxxxxxxxxxxxxxxxxxx
https://2024.gcp.tenka1.klab.jp/api/state/xxxxxxxxxxxxxxxxxxxxxxxxx
https://2024.gcp.tenka1.klab.jp/api/state/xxxxxxxxxxxxxxxxxxxxxxxxx
https://2024.gcp.tenka1.klab.jp/api/plan/xxxxxxxxxxxxxxxxxxxxxxxxx/397
https://2024.gcp.tenka1.klab.jp/api/state/xxxxxxxxxxxxxxxxxxxxxxxxx
https://2024.gcp.tenka1.klab.jp/api/state/xxxxxxxxxxxxxxxxxxxxxxxxx
...

ゲームに参加することができました。コンテスト中は新しいゲームが順次開始されるので、botプログラムを実行し続けておく必要があります。

参加したゲームのスコアやリプレイ表示をポータルサイトから確認することができます。
ポータルサイトの使い方 も合わせてご覧ください。

4. プログラムを改良する

あらかじめ、実行用と改良用でプログラム(ソースまたは実行ファイル)分けておきます。
実行用のプログラムを使ってゲームに参加しつつ、その間に改良用のプログラムを編集して改良を行います。
改良が終ったら、実行用プログラムを止めて改良したものに置き換え、再度実行します。
この手順を繰り返すことで、ゲームへの参加とプログラムの改良を並行することができます。

改良時のプログラムの実行方法と、結果をビジュアライズする方法を説明します。

1. 入力ファイルを用意

state API (ゲーム情報取得API) のレスポンス内容をテキストファイルに保存します。

ポータルの リプレイ表示 の入力テキストフィールドに表示されているものをコピーして保存するか、サンプルとして example.json を用意していますので、これを使用できます。

2. プログラムを実行

サンプルbotの引数として入力ファイルのパスを与えると、与えられたゲームに対して回答(plan)を考えて、 eval API (動作確認用評価API) を使用して動作確認を行うようになっています。

py$ python main.py ../example.json
https://2024.gcp.tenka1.klab.jp/api/eval/xxxxxxxxxxxxxxxxxxxxxxxxx
score = 6

また、実行時にはplanの配列をeval_plan.jsonというファイルに出力しています。

3. 動作結果のビジュアライズ

ポータルの リプレイ表示 の入力欄に入力ファイルの内容、出力欄に eval_plan.json の内容を貼り付けし、EVALボタンをクリックすることで視覚的に動作確認を行うことが出来ます。

チュートリアル