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ターン

💻 プログラム提出

指定期日までに提出。対戦ごとの変更不可。

📌 その他

不測の事態は実行委員会が判断。