GLOSSARY
用語集
講座に出てくる言葉を、初めての人向けにやさしく説明します。わからない言葉が出てきたら、このページに戻って確認してください。
準備と実行
- Python(パイソン)
- プログラミング言語の名前です。この講座のコードは、すべてPythonで書いています。
- Pyxel(ピクセル)
- Pythonでレトロなゲームを作るためのライブラリです。画面の大きさや色の数が小さく決まっているので、1人でも小さなゲームを完成させやすいのが特長です。この講座では Pyxel 2.9.9 を使います。くわしくはPyxelとは?使い方と始め方で説明しています。
- ライブラリ
- よく使う機能をまとめた「部品集」です。インストールしたあと、コードの最初で
importして使います。 - .venv(仮想環境)
- そのフォルダー専用のPythonの作業場所です。ほかの作業で入れたライブラリと混ざらないようにするために使います。作り方ははじめる準備で説明しています。
- ターミナル
- 文字で命令(コマンド)を入力して、パソコンを操作する画面です。Windowsでは PowerShell、Macでは「ターミナル」というアプリを使います。
- 実行
- プログラムを動かすことです。ターミナルでコマンドを入力して、Pythonのファイルを動かします。
- ZIPの展開
- いくつものファイルを1つにまとめたZIPファイルから、中身を取り出すことです。展開しないまま実行すると、正しく動きません。
- エラー(Traceback)
- プログラムが途中で止まったときに出るメッセージです。いちばん下の行に、原因が書かれていることが多いです。
- .pyxapp(Pyxelアプリケーションファイル)
- Pyxelのゲームを、画像や音などの素材ごと1つにまとめたファイルです。
pyxel playで遊べるほか、ブラウザーで遊べるHTMLにも変換できます。作り方はPyxelで作ったゲームを公開する方法で説明しています。
Pythonの基本
- 変数
- 数や文字などの値に名前を付けて、覚えておくしくみです。
score = 0と書くと、scoreという名前で 0 を覚えます。 - 定数
- 途中で値を変えない約束の変数です。
WIDTHやFPSのように、すべて大文字で書く習慣があります。 - if(条件分岐)
- 「もし〜なら、この処理をする」という書き方です。
- for(くり返し)
- リストの中身を1つずつ順番に取り出したり、同じ処理を決まった回数くり返したりする書き方です。
- 関数(def)
- いくつかの処理をまとめて名前を付けたものです。関数に渡す値を「引数」、関数から返ってくる値を「戻り値」と呼びます。
- リスト(list)
- 複数の値を順番に並べて入れておく入れ物です。
appendで後ろに追加し、removeで取り除きます。 - タプル(tuple)
- あとから中身を変えられないリストのようなものです。
(x, y)のような座標の組によく使います。 - 辞書(dict)
- 「キー」と「値」をセットにして入れておく入れ物です。キーを使って値を取り出します。
- 集合(set / frozenset)
- 同じ値が重ならない値の集まりです。「この値が入っているか」をすばやく調べられます。
frozensetは、あとから中身を変えられない集合です。 - True / False
- 「正しい」「正しくない」を表す値です。if の条件などで使います。
- None
- 「何もない」ことを表す値です。
- クラス(class)
- データと、そのデータを使う処理をひとまとめにした設計図です。
- インスタンス
- クラスという設計図から作った、実際の「もの」です。
- self
- クラスの中で「自分自身」を指す言葉です。
self.xは「自分が持っている x」という意味です。 - dataclass(データクラス)
- データをまとめるためのクラスを、短く書けるしくみです。クラスの上に
@dataclassと書いて使います。 - frozen(不変)
@dataclass(frozen=True)で作ったデータは、あとから中身を書き換えられません。値を変えたいときは、replaceなどで新しいデータを作ります。うっかり書き換えるミスを防げます。- import
- ほかのファイルやライブラリの機能を、今のファイルで使えるように読み込む命令です。
- モジュール
- Pythonのファイル1つ分のことです。
model.pyやapp.pyなどがそれにあたります。
ゲームの仕組み
- フレーム
- ゲーム画面の1コマのことです。ゲームは1コマずつ、少しずつ違う絵を描いて動いて見せています。この講座の多くの教材は、1秒に30フレームで動きます。
- fps
- 1秒間に何フレーム描くかを表す数です。30fpsなら、1秒間に30回画面を描き直します。
- update(更新)
- 毎フレーム呼ばれる関数で、キー入力を読んだり、位置や得点などのデータを変えたりします。
- draw(描画)
- 毎フレーム呼ばれる関数で、今のデータをもとに画面を描きます。ここではデータを変えないのがルールです。
- 状態(State)
- ある瞬間のゲームのデータ一式です。キャラクターの位置、得点、残り時間などをまとめたものです。
- 座標(x, y)
- 画面の中の位置を表す数の組です。Pyxelでは左上が (0, 0) で、右へ行くほど x が、下へ行くほど y が大きくなります。
- ピクセル
- 画面を作っている小さな点1つのことです。
- マス目(グリッド)
- マップを同じ大きさの四角で区切ったものです。位置を「何列目・何行目」で表します。ピクセルとの違いは画面とマップの座標で説明しています。
- 当たり判定
- 2つの物が触れたり重なったりしたかを調べる処理です。四角・円・マス目などの調べ方はPyxelの当たり判定の作り方で説明しています。
- フォント
- 文字の形のデータです。Pyxelに最初から入っているフォントは半角の英数字だけなので、日本語を表示するには日本語のフォントを読み込みます。方法はPyxelで日本語を表示する方法で説明しています。
- btn と btnp
- Pyxelでキー入力を調べる関数です。
pyxel.btnはキーを押している間ずっと、pyxel.btnpは押した瞬間に True になります。 - 乱数と seed
- 乱数は、毎回変わる予想できない数です。seed(種)を同じにすると、同じ順番の乱数が出るので、同じ配置を再現できます。
- Undo(アンドゥ)
- 直前の操作を取り消して、1つ前の状態に戻す機能です。
- テスト
- プログラムが正しく動くかを、自動で確かめるためのコードです。
この講座でよく出る言葉
- 原作・元の完成版
- 教材のもとになった、完成したゲームです。ダウンロードの「元の完成版ソース」に入っています。
- 教材版・ステップ
- 元の完成版の仕組みだけを取り出して、小さく作り直したものです。5つのステップで、ルールを1つずつ足していきます。どのステップのファイルも、それだけで動きます。
- 抜粋(注目する部分)
- 記事に載せている、コードの一部分です。実行するときは、ZIPに入っているファイル全体を使ってください。
- 予告と確定
- 「次にこうなる」を先に画面で見せることと、実際にそれを決めることです。プレイヤーが落ち着いて判断できるように、分けて作ることがよくあります。
- assets
- 画像や音などの素材を入れておくフォルダーです。元の完成版は、このフォルダーも一緒に使います。
- ブラウザー版(試験公開)
- 元の完成版を、ブラウザーの中でそのまま遊べるようにしたものです。PCのキーボードで遊ぶことを想定しています。