やること3:下の行も同じように点灯させる
さて、やること2によって、左の1行を上から下に順番に点灯させる処理を、繰り返しと変数を使ったシンプルな処理にできました。
つづいて、2行目から5行目も同じように上から下に順番に点灯させる処理をさせてみてください。
上から下に、下端まで点灯したら右の行に移って、また上から下に、がんばりましょう!
ポイントは、下の行に移ったら、最初に
変数yposを0にする
ブロックを入れて、変数yposの値をリセットしてあげることです。
これをやらないとyposはどんどん数字が足されていきます。
やること4:変数+繰り返しで「やること3」を処理する
さて、どうなりましたかね。こんな感じでしょうか。
くりかえし5回
点灯 x0 y(ypos)
一時停止 ミリ秒(100)
変数yposを1だけ増やす
変数yposを0にする
くりかえし5回
点灯 x1 y(ypos)
一時停止 ミリ秒(100)
変数yposを1だけ増やす
変数yposを0にする
くりかえし5回
点灯 x2 y(ypos)
一時停止 ミリ秒(100)
変数yposを1だけ増やす
変数yposを0にする
くりかえし5回
点灯 x3 y(ypos)
一時停止 ミリ秒(100)
変数yposを1だけ増やす
変数yposを0にする
くりかえし5回
点灯 x4 y(ypos)
一時停止 ミリ秒(100)
変数yposを1だけ増やす
これもなんだか、やること2-2、と似た感じがしますね。
点灯ブロックのxが0から4まで増えてるだけで、これも同じ処理が繰り返されていると思いませんか。
くりかえし5回
点灯 x? y(ypos)
一時停止 ミリ秒(100)
変数yposを1だけ増やす
変数yposを0にする
これが何回繰り返されていますか?。。。これも5回ですよね。
だから、こうなります。
くりかえし5回
くりかえし5回
変数yposを1だけ増やす
点灯 x? y(ypos)
一時停止 ミリ秒(100)
変数yposを0にする
くりかえしの中にある、くりかえしを繰り返します。
このように入れ子になっている形のことをネストと言います。
ここで問題になるのは点灯ブロックのxの数です。
変数yposを作った時と同じように、変数xposを作りましょう。xの位置 = x position = xposです。
そして、これまたyposと同じようにxposも繰り返すたびに値を1だけ増やしてあげます。
下のようなプログラムになるはずです。
くりかえし5回
くりかえし5回
点灯 x(xpos) y(ypos)
一時停止 ミリ秒(100)
変数yposを1だけ増やす
変数yposを0にする
変数xposを1だけ増やす
これで5×5の25個が全て点灯したはずです!
よくここまで頑張りました!すごい!!
コメント