この繰り返しのループから出る条件は「< >まで繰り返す」ブロックの中の< >の箇所に条件式の形で入力します。ここではループから出る条件を「x座標が200を超えたとき」という条件にしたいと思います。
スクラッチで条件式を作るにはスクリプトタブの「演算」の中にあるブロックを使います。ここでは「□<□」のブロックを使って「x座標が200を超えたとき」という条件式を作りたいと思います。
「□<□」のブロックの右側の□に「x座標」の変数をはめ込みます。
続いて「□<(x座標)」のブロックの左側の□に200と入力します。(数値の入力は半角数字で行います。)
これで「(x座標)が200を超えたとき」という意味を持つ条件式を作ることができました。この条件式を「< >まで繰り返す」ブロックの中の< >の箇所にはめ込みます。
これでx座標が200を超えるまで+1ずつ増加させていくプログラムができました。
x座標が200を超えてプログラムがこのループを抜けたとき、処理の流れは「< >まで繰り返す」ブロックの下側に接続されているブロックの方へ移ります。ここではx座標が200を超えた後に行う処理として、ネコに「ゴール!」としゃべらせてみたいと思います。
スプライトに何かセリフを言わせるにはスクリプトタブの「見た目」の中にある「□□と言う」というブロックを使います。このブロックを取り出して、□□の部分を「ゴール!」というセリフに書き換えます。
上で作成した「(ゴール!)と言う」のブロックを「< >まで繰り返す」ブロックの下側につなげます。
上で作成したブロックのかたまりを「(x座標)を0にする」のブロックの下側につなげます。
実行結果を確認する
これでネコがx座標の0から200の位置になるまで移動し、最後に「ゴール!」としゃべるプログラムができました。緑の旗のアイコンをクリックしてプログラムがスタートすると、画面中央にいたネコが右方向に移動していって最後に「ゴール!」と言うのが確認できると思います。
ネコの移動するスピードは「(x座標)+〇」ブロックの〇の部分に入力されている数値の大きさによって変わります。「(x座標)+1」であれば1回ループする毎に+1ずつ移動します。「(x座標)+2」であれば1回ループする毎に+2ずつ移動します。数値を大きくすればその分ネコの移動スピードが変わるので試してみてください。
条件分岐処理を追加する
ここまで作成したプログラムではネコは勝手に前に進んでいきました。このプログラムを少し改良して、キーボードの右向き矢印(→)キーを押したときだけネコが前に進むようにしたいと思います。
まず、今のプログラムの中で「< >まで繰り返す」ブロックの中に入っているx座標を+1にする処理を一度外側へ取り出します。
取り出した部分の処理を「右向き矢印(→)キーが押されているかどうか」という条件によって、「実行するかしないか」の分岐処理を行います。スクラッチで条件分岐を行うブロックはスクリプトタブの「制御」グループの中にあります。ここでは最も基本的な「もし< >なら」のブロックを使ってプログラムを作りたいと思います。
上で取り出した処理を「もし< >なら」のブロックの中に入れます。
続いてキーボードの右向き矢印キーが押されたことを検出するため、スクリプトタブの「調べる」グループの中にある「□□キーが押された」というブロックを取り出します。
「□□キーが押された」ブロックの□□の右側にある下向き三角マークを押すと、どのキーで検出を行うか選択できるメニューが表示されますので「右向き矢印」を選択します。
上で作成した「<右向き矢印>キーが押された」ブロックを「もし< >なら」ブロックの< >の箇所にはめ込みます。
これで右向き矢印キーが押されているときだけx座標が+1増加するという条件分岐処理のブロックを作ることができました。このブロックを再び「< >まで繰り返す」のブロックの中に入れます。
これでネコが右向き矢印キーを押したときだけ前に進むようになりました。x座標が200の位置まで移動するとネコが「ゴール!」と言ってプログラムが終了します。