アドバンス 変数を理解しよう チャプター3

完成版プロジェクト

まずは完成版でどのようなプロジェクトを作っていくのか確認しよう

このチャプターのポイント

前回のチャプターではオリジナルの変数”スピード”を作ってそれを10歩動かすの歩数に当て込むことによってだんだん変数、つまりスピードを速くしていく方法を学んだね。

今回はもう少し変数を使ったプログラムの考え方に慣れるために前回と似たプログラムを作ろう。
前回は横方向だったのに対し、今回は縦方向の動きにしてみた。それでは頑張っていこう。

変数に慣れよう

「ピースプ」のスプライト

今回は完成版にあるようにピースプが縦に行ったり来たりする動きに挑戦だ。同じスピードで行き来しているのではなく、だんだんと速くなっているね。これは前回と同じ考え方だよ。

今回はオリジナルの変数として ”Y座標” という名前の変数で作っていこう。この変数Y座標を使ってどうやれば完成版のような動きになるか考えて作ってみよう。

やってみよう

うまくいかないプログラムの一例

いろんなやり方があると思うけど、なかなか上手くいかないんじゃないかな?
その一例として上のプログラムで解説していこう。

まず変数”Y座標”を作る。そしてスタート位置を【X0,Y100で指定する】
Y座標を下に動かすにはY座標をマイナスの方向だよね。
なので【Y座標を-1ずつ変える】 をくっつけてからの 【Y座標をY座標をずつ変える】 でを【20回繰り返す】で赤の線まで加速して動くようになる。

ここまでOKなんだ。

問題は次のブロック。同じように【20回繰り返す[Y座標を1ずつ変える][Y座標をY座標ずつ変える]にしているところ。

下に動く逆にすればいいじゃない?的発想だよね。分かる。でも実際やってみると上手く行かない。ちょっと考えてみよう。

図を見ると分かりやすいと思うよ。まず変数Y座標を-1ずつ変えるのを20回繰り返すと、赤い線に到達した時点で変数Y座標は-20になっているよね。

そこから次はY座標を+1ずつ変えると変数Y座標は何になるかな? -20+1だから -19 だよね。
じゃぁ 「Y座標を-19ずつ変える」動きはどういう動きだろう?上に行く?下に行く?

マイナスだから下だよね。

本来はここから上に動いてくれないといけないから変数Y座標はプラスの数字になっていないといけない。
この問題を解決するには、

ピースプが赤のラインに到達した時に変数Y座標をゼロにリセットしてあげる必要があるよね。
【Y座標を0にする】で一旦リセットしてあげればそこからY座標を1ずつ変えるとプラスの数字になって上に行くようになるよね。

これを踏まえてもう一度修正して完成させよう。

やってみよう

横の動きも練習で作ろう

「練習」のスプライト

もう少し変数に慣れようか。
練習というスプライトを作っておいたから今度は横の動きで作ってみよう。

ここでは変数 ”X座標” を作ってやってみよう!

やってみよう