第9章 もしも・・・なら |
もしも・・・なら〜するという命令を紹介します。 これを見てください。 |
a=1 ;aに数値を代入 if a=1:mes "aの中身は1です。" ;もしもaが1なら文字を表示 if a=2:mes "aの中身は2です。" ;もしもaが2なら文字を表示 if a=3:mes "aの中身は3です。" ;もしもaが3なら文字を表示 stop |
a=1をa=2やa=3に変えて実行してみてください。 このように、指定された条件が正しければ実行するというのがif命令です。 ifの右に書かれた式が正しければ、「:」の右に書かれた命令が実行され、 正しくなければその行では何もせず、次の行に進みます。 他にもいろいろな形の条件を書くことができます。次のプログラムを試してください。 |
a=5:b=10:c=20 ;変数a,b,cに数値を代入 if a=5:mes "aは5です。" if a>5:mes "aは5よりも大きいです。" if a<5:mes "aは5よりも小さいです。" if b>=10:mes "bは10以上です。" if b<=10:mes "bは10以下です。" if c!=15:mes "cは15ではありません。" if c=15:mes "cは15です。" stop |
a,b,cをいろいろ変えて実行してみてください。 if a=? aが?と同じなら if a!? aが?と異なるなら if a>? aが?より大きいなら if a<? aが?より小さいなら if a>=? aが?と同じ、または?より大きいなら if a<=? aが?と同じ、または?より小さいならという風になっています。(ここでは全角で書いていますが、実際には半角で書いてください) さて、これを利用したプログラムを作ってみましょう。 goto命令の繰り返しでは、繰り返し回数を指定できない、と以前は言いましたが、 if命令を使えば、ちゃんと繰り返し回数を定めれるんです。 |
count=1 ;繰り返し回数 *a mes count count++ ;繰り返し回数を+1 if count<=10:goto *a ;countが10以下なら*aに飛ぶ stop |
これを実行してみてください。 繰り返しごとにcountを+1していって、countが10を超えたら*aにはもう飛ばなくなります。 この様に、if命令はとても便利な命令です。 この命令をもっと上手く使うためにも、次のプログラムも実行してみてください。 |
a=10:b=10:c=20 ;a,b,cに数値を代入 if (a=10) & (b=10){ color 255,0,0 mes "aもbも10です。" } else{ color 0,0,255 mes "aとbのどちらか、又は両方が10ではありません。" } if (a=20) | (c=20){ color 0,255,0 mes "aとcのどちらか、又は両方が20です。" } stop |
最初のifを見てください。 ()に挟まれた条件が二つあるのがわかると思います。 条件が二つ以上ある場合はこのように、()の間に条件を書いていきます。 そして、その2つの条件の間には「 & 」か「 | 」を書きます。 「 & 」は日本語で言う「さらに」とか「かつ」だと思えばいいです。つまり両方が正しいとき、ということです。 「 | 」は日本語で言う「または」です。つまり、どちらかが正しいとき、ということです。 また、「もしも・・・なら〜する」の〜の部分、つまり実行する命令が2つ以上ある場合は、 条件の後に「:」ではなく「 { 」を書きます。 そして、その実行する複数の命令の最後に「 } 」が必要です。 そして、その次にあるelseですが、これは直前の条件が当てはまらなかったときに実行されます。 この場合、aとbのどちらか、又は両方が10ではないときに実行されます。 elseを使う場合、elseと直前のifとの両方で、「 { } 」を使う必要がありますので注意してください。 ちょっと今回は急いで教えたので、分からない人も多かったかと思います。 そんな人はすぐに質問してくださいね。 だいたい理解できたぞ!って人は第10章 にどうぞ。 |