さて、毎回同じ「ブー」音では面白味がないので、押すたびに違う音が出るようにしてみましょう。
サイコロを振る命令、RND()を使います。
WHILE 1
B=BUTTON(2)
IF B AND #A THEN BEEP RND(128)
VSYNC
WEND
BEEP命令の引数に「RND(128)」と付け加えました。これは、0から127までのサイコロを振るものです。これで、Aボタンを押すたびに0~127までの効果音のどれかがランダムで鳴るプログラムになりました。
ちなみに、次の行に「VSYNC」というのを追加しましたが、これはプログラムの実行があまりに速いので、ちょっとスピードをいい塩梅に自動調節してもらうためのものです。おまじない程度に覚えておいてください。試しにここを外して実行してみるとなんとなく分かるかな?
何も起こらずに終わってしまいましたね。
ボタン入力を受け付ける処理は、結果を問わずどんどん流れていってしまうので、ループ(繰り返し)を設ける必要があります。
ここで、ループ命令「WHILE ~ WEND」の登場です。
WHILE 1
B=BUTTON(2)
IF B AND #A THEN BEEP
WEND
WHILEとWENDの間を無条件でぐるぐると無限にループし続けるプログラムになりました。これで実行すると、Aボタンを押すたびに「ブー」という音が鳴ります。実行をやめるときは、スタートボタンを押してください。
次に、「Aボタンを押すと何か音が出る」というプログラムを作ってみましょう。
(新しくプログラムを書くときは、「NEW」コマンドでエディターをクリアしてください。)
ボタン入力を受け付けるのは、BUTTON命令。
効果音を出すのは、BEEP命令。
「もし~ならば***する」という条件判断は、IF ~ THENを使います。
B=BUTTON(2)
IF B AND #A THEN BEEP
これで実行してみましょう。すると・・・?