十歩目 繰り返すということ(後編)
〜繰り返しを使って〜
ココでは 繰り返しを使った
というか 繰り返しを使って ちょっとしたものを作ってみましょう
kuri=100 repeat kuri color cnt,0,0 print "だんだん赤になってゆくー" wait 10 loop stop |
これ どういうことか分かりますか?
まず kuri は100なのだから repeat kuri で100回 繰り返すことだね
で color の cnt,0,0 は 昔やったプログラムを
cnt に変えただけ でもこれじゃああんまり色変わらないね
だって cnt は1ずつ増えてくし 1ぐらい変わっても そうそう変わらん
それに 繰り返しは 早いからな
あ! もう1つ cls を入れるの忘れた
(このままでは 文字はその下へ下へ書かれてしまう)
これでは不便だ ということで改良版
kuri=10 repeat kuri cls color cnt*10,0,0 pos 0,0 mes "改良!" wait 10 loop stop |
どお? cls は分かるよなあ(0は省略した)
で cnt*10 だということは cnt が1のとき 10
cnt が2のときは20になる
あ!いいこと思いついた
今までつかったやつで 数字が変わるのを利用して
repeat cls pos cnt,100 mes "いいかも" wait 3 loop |
これを実行する前に どういう風に動くか 考えてみよう
repeat で数字が無いので 無限ループ
cls で画面を初期化する(白で塗りつぶす)
pos の横の座標が cnt だということは
繰り返す たびに横の数字が増えてくから
文字( いいかも )が横へ横へ動いてく!
wait の3は まぁこれぐらいがいいなぁ と
loopで またrepeatへ戻ると
前に表示された文字は cls で消されるから問題は無い
cnt はループが終わらない限り どんどん数字がでかくなってく
でも動きが遅いので
今度はcnt を使わず普通の変数でやってみよう
ugoki=0 repeat cls ugoki=ugoki+10 pos ugoki,ugoki mes "らんららんらら" wait 3 loop |
今度は横だけではなくて 縦にも動く
ugoki は最初0な
で repeat と cls はおなじみ
ugoki=ugoki+10 ということは 最初の ugoki は0だから
ugoki=0+10 ということで ugoki は10になった
その次に 繰り返しでここにきたときは
ugoki=ugoki(10)+10 だから ugoki は20になる
別に ugoki=cnt*10 とやっても数字は同じだ
まあ分からないときには 自分でいろいろ いじってみてくださいな
まあなんなら気軽に掲示板に 「分からんぞオヤブン」
とでも書いてくれ