【 PCゲーム制作入門 No.04 】

配列(はいれつ)を学ぼう

次の行で、マップ(地形パターン)を設定しています。
こんな感じですね↓
map = [[1,2,3,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,2,2,2,2,2,1,1,1,1,3,3,3,3,3,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1],
       [1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3]];

ゲーム画面と見比べると分かりますが、値が1の場所に1番の絵、値が2の場所に2番の絵、という具合に表示しています。

前回の「変数」はデータ(数値)を1つしか入れられませんが、この「配列」は複数のデータを入れておくことができます。
基本の書き方は↓な感じ。 [] 内にデータを入れます。
map = [0,1];

この map 内の、最初のデータを取得したい場合は、map[0] とします。
2番目を取り出す時は、map[1] です。

実際にプログラムを動かして確認してみましょう。
Pythonを起動して↓を1行ずつ入力してみてください。(起動方法は01を参照)
map = [100,200];
map[0];

すると、次の行に、 100 と出力されます。
続いて、map[1]; と入力すると、200 が出力されます。

尚、この map配列の最初のデータを変更したい時は、
map[0] = 300;
とします。
これで、map[0]のデータが300になりました。

試しに↓を入力してみてください。
map[0];
※Pythonは、終了する(ウインドウを閉じる)と過去の設定が無くなります。数値を確認する場合は、続けて行ってください。

2次元配列を学ぼう

さて、サンプルで使用している map は、[] が2つ重なっています。 [[ …データ… ], [ …データ… ]] こんな感じで
これが「2次元配列」で、縦と横のデータを持っています。

短く設定すると、こうなります↓
map = [[0,1], [100,200]];

ここから、左上(縦が0番目、横も0番目)のデータを取り出す時は、
map[0][0];
とします。(0が表示されます)

右上(縦が0番目、横が1番目)のデータは、
map[0][1];
となります。(1が表示されます)

左下(縦が1番目、横が0番目)のデータは、
map[1][0];
となります。(100が表示されます)

つまり、縦軸を y 、横軸を x とした場合、
map[y][x] という形になっています。

・・・読んでるだけだと分かり難いですよね。

プログラムは、実際に動かしてみると分かりやすいので、
「変数」や「配列」のデータを、設定したり、変更したり、出力したりしてみてください。

尚、「変数」と「配列」を組み合わせて、↓のようなこともできます。
x = 2;
map = [100,200,300];
map[x];

これをPythonで実行していくと、最後に map[2] の中身、300 が表示されます。

如何でしょうか?
「変数」と「配列」は超重要なので、しっかり理解してから先に進んでください。

次のページへ



[ StudioGIW TOPページ ]