6章 Pythonを書く場所
ルールがわかったところで、CHaserのプログラムをPythonで書く場所を確認しておきましょう。CHaserのトップ画面から、プログラムを作る場所は、次のとおりです。
| 場所 | 書き方 | この本での扱い |
|---|---|---|
| チュートリアル(ブロック) | ブロック(Blockly)で組む | 入門編で使います |
| チュートリアル(Python) | Pythonで書く | 第2部で使います |
| プログラミング | ブロック(Blockly)で組む | ブロックで対戦用のプログラムを作る場所です |
| Python | Pythonで書く | 第3部で使います(対戦用のプログラムを書く場所です) |
チュートリアルを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とは
- CHaserの対戦中、プレイヤーは自分のキャラクターを直接操作できますか。
- CHaserの基本的な勝ち方は何でしょうか。
2章 フィールドの構成要素
- フィールド上の4種類の要素をすべて挙げてください。
- アイテムとブロックの、通行のしやすさの違いは何でしょうか。
3章 プレイヤーの行動
- プレイヤーが取れる行動は何種類ありますか。
- 移動やブロック設置は、斜め方向にも行えますか。
4章 アイテム取得とブロック出現
- アイテムを取ると、そのマスはどうなりますか。
- アイテムを深く考えずに取り続けると、どのような危険がありますか。
5章 勝利条件
- 特別勝利条件は何種類あり、それぞれ何と呼ばれていますか。
- 「アタック勝ち」と「衝突」は、それぞれどんな行動によって起こりますか。
6章 Pythonを書く場所
- チュートリアルをPythonで解くには、ステージ選択画面で何をしますか。
- ブロックのチュートリアルの「python」タブでは、何ができますか。
(解答は付録1「確認クイズ・演習問題の解答」を参照してください。)
準備ができたら、第2部で、Pythonの書き方を学んでいきましょう。