CHaser解説(Python編)

第1部 CHaserを知る

Pythonを書く場所

6章 Pythonを書く場所

ルールがわかったところで、CHaserのプログラムをPythonで書く場所を確認しておきましょう。CHaserのトップ画面から、プログラムを作る場所は、次のとおりです。

場所 書き方 この本での扱い
チュートリアル(ブロック) ブロック(Blockly)で組む 入門編で使います
チュートリアル(Python) Pythonで書く 第2部で使います
プログラミング ブロック(Blockly)で組む ブロックで対戦用のプログラムを作る場所です
Python Pythonで書く 第3部で使います(対戦用のプログラムを書く場所です)

チュートリアルをPythonで解く

「チュートリアル」を開くと、ステージ選択画面の右上に、「ブロック」と「Python」の切り替えがあります。「Python」に切り替えてからステージを選ぶと、ステージを、Pythonのコードで解く画面が開きます。同じステージを、ブロックでも、Pythonでも、解けます。切り替えは、次に開いたときにも残ります。

図:ステージ選択画面。右上の「ブロック/Python」で、解き方を切り替える
図:ステージ選択画面。右上の「ブロック/Python」で、解き方を切り替える

Pythonの画面では、左のエディタにコードを書いて、「実行」を押します。命令は、walk(Up)のように、名前だけで書きます。ただし、チュートリアルのPythonは、学習用の簡易版で、普通のPythonとしては動きません。本番用の正式な書き方との違いも含めて、第2部0章で説明します。

Pythonの画面(対戦用)

トップ画面の「Python」(「文字で書こう!」と書かれています)を開くと、対戦用のPythonのコードを書く専用の画面が開きます。書いたコードは、その場で実行できます。対戦相手のプログラム(「対戦AI」)や、対戦するマップも、この画面の中で用意できます。こちらでは、命令をplayer.walk(Up)のように、player.を付けて書きます。使い方の詳細は、第3部1章で説明します。

ブロックからPythonへ

ブロックで組んだプログラムを、Pythonで見たいときには、2つの方法があります。

  • ブロックのチュートリアルの「python」タブ:ブロックのチュートリアルの画面の右上にあるタブです。いま組んでいるブロックをPythonに書き直したときの形を、表示するだけです。ここでコードを書くことはできません。
  • 「プログラミング」の「Pythonで編集」ボタン:ブロックで組んだプログラムをPythonのコードに変換して、Pythonの画面で続きを書けます。

どちらも、変換されたコードは、変数や関数の名前がローマ字になり、少し読みにくくなります(第2部0章)。また、first_indexのように、Blocklyが変換のときに補う関数も出てきます(第2部3章)。

注意したいこと

  • チュートリアルで、player.を付けてしまう:チュートリアルのPython画面では、player.walk(Up)ではなく、walk(Up)と書きます。逆に、Pythonの画面(対戦用)では、player.が必要です。
  • ブロックのチュートリアルの「python」タブに、コードを書こうとする:このタブは表示専用です。Pythonで書くときは、ステージ選択画面で「Python」に切り替えます。
  • ステージ選択画面の切り替えを、忘れる:切り替えは、次に開いたときにも残ります。ブロックで解くつもりが、Pythonの画面が開いた、というときは、切り替えを見直しましょう。

第1部 確認クイズ

1章 CHaserとは

  1. CHaserの対戦中、プレイヤーは自分のキャラクターを直接操作できますか。
  2. CHaserの基本的な勝ち方は何でしょうか。

2章 フィールドの構成要素

  1. フィールド上の4種類の要素をすべて挙げてください。
  2. アイテムとブロックの、通行のしやすさの違いは何でしょうか。

3章 プレイヤーの行動

  1. プレイヤーが取れる行動は何種類ありますか。
  2. 移動やブロック設置は、斜め方向にも行えますか。

4章 アイテム取得とブロック出現

  1. アイテムを取ると、そのマスはどうなりますか。
  2. アイテムを深く考えずに取り続けると、どのような危険がありますか。

5章 勝利条件

  1. 特別勝利条件は何種類あり、それぞれ何と呼ばれていますか。
  2. 「アタック勝ち」と「衝突」は、それぞれどんな行動によって起こりますか。

6章 Pythonを書く場所

  1. チュートリアルをPythonで解くには、ステージ選択画面で何をしますか。
  2. ブロックのチュートリアルの「python」タブでは、何ができますか。

(解答は付録1「確認クイズ・演習問題の解答」を参照してください。)

準備ができたら、第2部で、Pythonの書き方を学んでいきましょう。

YouTubeチャンネル

U-15プロコン舞鶴のYouTubeチャンネルを開設しました。大会の情報などを発信しています。 チャンネルを見る