文字を跳ね返すということ
僕が HSPを勉強したフリーソフト工房のコウザを 10章まで読んで
まず僕は「簡単なプログラムを自分で作ってみよう」
何事も「簡単」から・・・
そこで思いついたのは 「文字を跳ね返す」だ
文字が右へ行ったら左に向かって
下へ行ったら上へ向かって
というプログラムです
今までおぼえた命令で 作ることが出きる!
じゃあまず
文字が右まで行ったら 左に戻ってまた右へ向かう
といったプログラムを組んでみよう
〜文字の移動〜
if と repeat〜loop を使ってやってみよう
文字が動くと言うのは 難しく言うと 文字の位置である変数の数字が変化するということだ
つまり pos x,y としたらその位置に表示されている文字を
右へ動かすには x の数値を増やせば文字は右へ動くと言うことだ
x=0 repeat x=x+1 pos x,0 print "o" wait 5 loop |
これで 文字を 右へ右へ動かせる
説明しよ
まずXは0と指定しとく
repeat で繰り返し X=X+1で繰り返すたびに
Xに1が 足されてく pos x,0 で数値が増えてゆく X が
pos のX座標(横)になってるから繰り返すたびに
横へずれてゆく で print "o" で o を移動させてく
wait
5 で待って loopで繰り返し・・・
よくよく考えたら Xは cntでよかった・・・
それと なんか忘れてる・・・ ・・・あ!
画面を消してない! cls 入れるの忘れてた
これが無いと 文字の通ったとこに字が残る!
スイマセン ドジで 他にも直したいとこあるから
修正!
x=0 screen 0,300,300 repeat cls x=x+5 pos x,150 print "o" wait 3 loop |
これでヨシ
画面が でかいので screen で小さくして
さっき忘れてた cls を入れて
(ちょっと o がぱちぱちするけど チカチカを止める命令をやるまで我慢(ガマン))
それから・・・繰り返すたびに1しか足されないから・・・遅いので 5づつにしました
文字の位置も pos x,150で下の方にに o を持ってきた
さてと・・・・・・・やっと跳ね返しを・・・・
今までのは ただ文字を右に移動するだけだからな
今度は 「文字が右まで来たら一番左へワープさせる」
と しよう
x=0 screen 0,300,300 repeat cls x=x+5 pos x,150 print "o" if x>300:x=0 wait 3 loop |
もうこりゃ分かるだろう
if x>300:x=0
うん Xが300(画面の一番右の座標)より大きくなったら
Xに0を入力 別の言い方をすると Xを0に戻す
簡単だね じゃあ次のページへ
次で跳ね返しをやろう