プログラミング再入門

2重ループ

多くの2Dゲーム、特にパズルやタイル・ブロックを用いたものあるいはステージ構成がブロック状のものに必須のテクニック。理解できていないと大変にマズイ。


iPadアプリ Scratch Jr で小学2年生向けに解説してみた。

小学校高学年用のScratchによる教材

180度反転の理解とY座標が上下方向の移動に対応することを解説する必要ありかも。

小学校高学年用の例

XY座標がステージ上のどの位置に対応するか解説する必要が有りそう。

XY座標を指定する移動ブロックの代わりに、

変数Xと変数Yを用意して変数の更新により移動させる例。

関数呼び出し

iPadアプリ Cargo Bot で学ぶ関数呼び出し。

Cargo BotはUFOキャッチャーを操作するパズルゲーム。

操作はコマンドをスロットに並べてプログラムする。

スロットは4個あり、プログラムの関数として利用できる。

ただし、値を返すことはできないので関数としては不足がある。サブルーチン(副プログラム)である。

C#などオブジェクト指向言語ではメソッド定義とメソッド呼び出しとも呼ぶ。

例1)

スロット4に 荷物を1個右に運んでアームを元に戻す プログラムをセットし

スロット1に スロット4のプログラムを3回呼び出して3個の荷物を運んでから、追加で1個運ぶことを繰り返す プログラムをセットした

左から3 2 1 個の荷物が 1 2 3個積まれた時点てパズルが解かれたのでプログラムは停止している。

例2)

パズルをわざと複雑な方法で解いた。

サブプログラムの呼び出しについて、実行と終了、終了時にどこから再開するのかを確認するとよい。