●このページの課題は maru02.bas として、マイドキュメントの basic フォルダに保存すること。( .bas は自動的につきます)
●maru01.bas に付け加えてプログラムを完成し、maru02.basとして保存するのが楽だ。このためにはたとえば次のようにするとよい。
●maru01.bas をダブルクリックすると編集状態になるので、メニューバーの「ファイル」から「名前を付けて保存」を選んで、名前をmaru02.bas として保存する。
●K2エディタのようにデスクトップのショートカットにドラッグアンドドロップすると、プログラムが実行されて、編集できないことがあるので、気をつけよう。
●htmlでやったように、マイドキュメントの basic フォルダの maru01.bas をコピーして名前を maru02.bas にしてもよいが、この場合は.bas は自動的につかないので注意すること。
●動かすためには位置を変数にしておく
SET WINDOW 0,500,0,500 SET AREA COLOR 2 LET x=50 LET y=300 DRAW disk WITH SCALE(10)*SHIFT(x,y) END
●横位置の最大が500なので500になるまで動かすプログラムにしてみる。
●繰り返したい部分を DO と LOOP で囲む。囲んだ中は、囲んだ範囲がわかりやすいように字下げをする。この字下げはコンピュータにはなくてもいいが、人間がわかりやすいように入れるものである。
●DO の後ろに WHILE x < 500 とあるがここの部分が500になるまでという指定である。
●x = x + 1 で円の位置を少しずつ右に動かしているのである。
SET WINDOW 0,500,0,500 SET AREA COLOR 2 LET x=50 LET y=300 DO WHILE x < 500 DRAW disk WITH SCALE(10)*SHIFT(x,y) LET x = x + 1 LOOP END
●LOOPまでいったらDOに戻る。WHILEの右に書かれた条件が成立しているなら、DO〜LOOP間をまた実行し、成立しないなら、LOOPの次の文に進む(DO〜LOOPをぬけるともいう)。
●しかし、これでは動いたように見えない。動きが速すぎるのである。
●下記のように、WAIT DELAY 0.01 をいれよう。0.01の部分は遅らせる秒数。あまり大きくすると待ってられなくなるので注意しよう。待ってられなくなったら中断ボタン(実行の隣の隣)で中断し、出てくるウインドウで[×中止]を選ぶ。
SET WINDOW 0,500,0,500
SET AREA COLOR 2
LET x=50
LET y=300
DO WHILE x < 500
DRAW disk WITH SCALE(10)*SHIFT(x,y)
LET x = x + 1
WAIT DELAY 0.01
LOOP
END
●0.01以下にしても0.01と同じなので、0.01でも遅くなりすぎる場合は WAIT DELAY を書くことをやめよう。
●線を引きずっていくのではなく、ボールが飛んでいったようにするには、一度円を消して、別なところに描き直すようにする。。
SET WINDOW 0,500,0,500 SET AREA COLOR 2 LET x=50 LET y=300 DO WHILE x < 500 SET AREA COLOR 0 DRAW disk WITH SCALE(10)*SHIFT(x,y) LET x = x + 1 SET AREA COLOR 2 DRAW disk WITH SCALE(10)*SHIFT(x,y) WAIT DELAY 0.01 LOOP END