プレイ日記
3行目から6行目の意味を教えて下さい。 お願いします
4そうだね
プレイ済み
返信[1]
親投稿
スー thanks_0u0
1 画面の文字を消します 2 BGM29番を再生します 3 変数Aは0です:変数Bは4です 4 ここから繰り返します 5 変数Aは変数A+1です 6 AがBより大きければ繰り返しを抜けます みたいな感じです(・u・) 多分実行しても一瞬で終わってしまうと思いますが、実際は4行目から、 REPEAT→A=A+1(Aは1)→UNTIL A>B(1<4で不成立)→REPEAT→A=A+1(Aは2)→UNTIL A>B(2<4で不成立)→REPEAT→A=A+1(Aは3)→UNTIL A>B(3<4で不成立)→REPEAT→A=A+1(Aは4)→UNTIL A>B(4=4で不成立)→REPEAT→A=A+1(Aは5)→UNTIL A>B(5>4で成立!)→7行目へ という繰り返しが行われています。
3そうだね
プレイ済み
返信[2]
親投稿
一言で言えば 「4回繰り返す」 です。 FOR A=0 TO B-1 NEXT A とほぼ同じです。
2そうだね
プレイ済み
返信[3]
親投稿
キルル2 kiruru2
3行目は変数への代入を行っています A=0で、変数Aに0を代入して B=4で、変数Bに4を代入します 何も代入されていない変数は全て0となりますが、細かい話は割愛します 次にREPEATですが、これは繰り返しの命令です。UNTILまでの処理を繰り返し行います。(この場合はA=A+1) ではいつまで繰り返すのか?それは、UNTILのあとの条件を満たすまでです 「条件を満たす」というのは「式の答えが0でない」ということです 実はA>Bは比較演算をおこなっていてAの方がBより大きかったときは1、小さければ0という答えが求められます 1は「0でない」ため、AがBより大きくなったときに繰り返しから抜けるのです 最後にA=A+1です これは「A」という変数に「A+1」という値を代入する処理です 最初、Aの値は0ですね。0+1は1なのでAの値は1になります。その次は2となり、Bより大きくなったらその時点
2そうだね
プレイ済み
返信[4]
親投稿
キルル2 kiruru2
でループを抜けて7行目に行きます
2そうだね
プレイ済み
返信[5]
親投稿
ありがとうございます!
2そうだね
プレイ済み
返信[6]
親投稿
TERA(LL) tera0413
(蛇足かも知れないですが) 決められた回数ループを繰り返したいだけであれば、FOR NEXT で充分なのです。 予測できない回数(例えばプレーヤーがミスするまで とか 制限時間内にゴールにたどりつけなかった とか スコアが合格ラインに達するまで とか 単純にボタンが押されるまで 等)ループを繰り返したい場合、REPEAT UNTIL(またはWHILE WEND)が活躍します。
2そうだね
プレイ済み
返信[7]
親投稿
『Aボタンを押すまで』だったらどうなりますか? よければ、教えてください。
1そうだね
プレイ済み
返信[8]
親投稿
TERA(LL) tera0413
Aボタンを押すまで の一例です。
2そうだね
プレイ済み
返信[9]
親投稿
ありがとうございます!
0そうだね
プレイ済み