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種類があり、どちらかを選択して開発します。 下のリンクからアクセスして、プログラムを作成してください。

※ 大会ではどちらのプラットフォームで作成したプログラムでも参加可能です。

お問い合わせ(開発プラットフォーム)

開発プラットフォームに関するご質問・不具合報告はこちらのフォームから送信してください。運営で確認のうえ、回答または対応を行います。

よくある質問(FAQ)

Q: どちらのプラットフォームを使えば良いですか?
A: 初めての方や視覚的に学びたい方はブロック版(Scratch風)、コードで細かく制御したい方はPython版をおすすめします。
Q: ブロック版のプログラムを共有できますか?
A: ブロック版はエクスポート(保存)機能で共有可能です。ダウンロードしたファイルを共有してください。
Q: トラブル(動作しない、対戦できない)時は?
A: アクセスが集中すると一時的に不安定になることがあります。少し時間をあけてお試しください。解決しない場合は「 お問い合わせ 」フォームへご連絡ください。
Q: 教材やチュートリアルはありますか?
A: 講習会資料などが こちら からダウンロードできます。

解説

※ チュートリアルのネタバレを含みますのでご注意ください。

その他の資料のダウンロードは

こちらから

※ 資料は随時更新される可能性があります。最新版をご確認ください。

大会競技ルール

🏆 勝利条件

  • 規定ターン終了時にアイテム数が多い
  • 相手のマスにブロックを置く(アタック)
  • 相手を4方向からブロックで囲む(閉じ込め)
  • 相手がブロックのあるマスに移動(衝突)
  • 通信エラーなどで競技中断

🎮 試合形式

同じマップで先攻・後攻を入れ替えて2回対戦。勝利数が多い方が勝者。1回目は選手番号の小さい方が先攻。

📊 対戦ポイント

  • アイテム数 × 10点(勝者・敗者とも)
  • 早期勝利:残りアイテム数 × 7点(勝者)
  • 衝突・通信中断:敗者はアイテム数 × 3点 減点

📐 対戦方法

  • トーナメント方式(組み合わせは実行委員会)
  • 規定数未満:リーグ方式(勝ち点制)
  • 規定数超過:予選あり(方法は委員会決定)

🗺️ マップとターン

  • マップサイズ:横15 × 縦17
  • 初期位置:中央より左が先攻、右が後攻
  • ターン数:100〜240ターン

💻 プログラム提出

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

📌 その他

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

全国交流大会の様子

競技部門のYouTube動画はこちら