この解説は、対戦型プログラミング競技 CHaser(チェイサー) のプログラムを、Pythonで書くための応用編です。CHaserでは、あなたが書いたプログラムがフィールド上のキャラクターを代わりに動かします。試合が始まったら直接操作はできません。「相手がこう来たら、自分はこう動く」という判断をあらかじめ手順として書いておく――そのための書き方を、ルール解説からPythonの基礎、対戦画面の使い方、やりたいことをプログラムにする手順まで順番に説明します。
次のどちらの人にも読めるように書いています。
- 入門編(Blockly版)を読み終えた人:ブロックで組んだ動きを、Pythonの文字のコードで書けるようになります。各章の冒頭に、入門編のどの章に対応するかが書いてあります。入門編(Blockly版)の解説はこちら。
- Pythonを書いたことがある人:入門編を読んでいなくても構いません。第1部でルールを確認し、第2部0章と、各章の「CHaserのしくみの要点」を読めば、CHaser特有の決まりごとは押さえられます。
いちばんおすすめの読み方は、第1部 → 第2部 → 第3部の順番です。早く対戦したいときは、第1部 → 第2部0章 → 第3部の1章・2章と読み、必要になった章に戻っても構いません。
チュートリアルの各ステージのPythonの解答例は、チュートリアル解答例集 にまとめています(ブロックの解答例は、入門編の チュートリアル解答例集 です)。
第1部 CHaserを知る
対戦ルーム、フィールド、勝敗の決まり方と、Pythonを書く場所(チュートリアルの画面と、対戦用の画面)を説明します。まずはここから。
第2部 Python編
Pythonの基礎と、CHaserの命令をPythonで書く方法を、章ごとに説明します。コードは、チュートリアルのPython画面にそのまま入力して試せる書き方です。
0章 Pythonの基礎と、CHaserの書き方
1章 移動と繰り返し
2章 情報の読み取りと条件分岐
3章 探査と、行動の決め方
4章 ターンの仕組みと、攻撃
5章 変数と関数
6章 総合演習と、Blockly⇔Python対応表
第3部 実践
Pythonの対戦画面と対戦ルームの使い方を確認したあと、3章で「こう動かしたい」というアイデアをPythonのプログラムにする考え方を、例を交えて説明します。
資料
自分の答え合わせや、用語の確認に使ってください。