CHaserとは
CHaser概要
CHaserは、対戦型ゲームプラットフォーム上で動作する自律型プログラムによる競技です。 プレイヤーはプログラムを作成し、アイテムを集めたり、相手をブロックで囲んだりして勝利を目指します。
プログラミングの基本
CHaserでは、以下のような命令を使ってプレイヤーを操作します。
移動
player.walk(Up)
ブロック設置
player.put(Down)
周辺情報の活用
map_info[Up] == Item
:上のマスにアイテムがあるmap_info[Right] == Enemy
:右のマスに相手がいるlook_info = player.look(Right)
:右方向の近隣探査
応用戦略
- 遠方探査でアイテムの位置を予測
- 障害物を回避しながら移動
- ランダム移動で自滅を防止
- 相手の位置を推定してブロック設置
開発プラットフォーム
戦略プログラムを開発するためのプラットフォームです。Webアプリケーションになっていて、ブラウザで利用できます。 ブロック版とPython版の2種類があり、どちらかを選択して開発します。 下のリンクからアクセスして、プログラムを作成してください。
※ 大会ではどちらのプラットフォームで作成したプログラムでも参加可能です。
資料ダウンロードは
こちらから
※資料は随時更新される可能性があります。最新版をご確認ください。
大会競技ルール
🏆 勝利条件
- 規定ターン終了時にアイテム数が多い
- 相手のマスにブロックを置く(アタック)
- 相手を4方向からブロックで囲む(閉じ込め)
- 相手がブロックのあるマスに移動(衝突)
- 通信エラーなどで競技中断
🎮 試合形式
同じマップで先攻・後攻を入れ替えて2回対戦。勝利数が多い方が勝者。1回目は選手番号の小さい方が先攻。
📊 対戦ポイント
- アイテム数 × 10点(勝者・敗者とも)
- 早期勝利:残りアイテム数 × 7点(勝者)
- 衝突・通信中断:敗者はアイテム数 × 3点 減点
📐 対戦方法
- トーナメント方式(組み合わせは実行委員会)
- 規定数未満:リーグ方式(勝ち点制)
- 規定数超過:予選あり(方法は委員会決定)
🗺️ マップとターン
- マップサイズ:横15 × 縦17
- 初期位置:中央より左が先攻、右が後攻
- ターン数:100〜240ターン
💻 プログラム提出
指定期日までに提出。対戦ごとの変更不可。
📌 その他
不測の事態は実行委員会が判断。