十歩目 繰り返すということ(後編)

              

〜繰り返しを使って〜
     ココでは 繰り返しを使った
     というか 繰り返しを使って ちょっとしたものを作ってみましょう
     

	
	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 とやっても数字は同じだ
     まあ分からないときには 自分でいろいろ いじってみてくださいな
     まあなんなら気軽に掲示板に 「分からんぞオヤブン」
     とでも書いてくれ

戻る コウザへ ホームへ 次へ