文字を跳ね返すということ
〜終決変(編)〜
じゃあ 前のやつの 「右まで行ったら左へ 瞬間移動」
じゃなくて 「右まで行ったら左に進む」 ようにしよう!
これには 「変数」をうまく使えばいいのだ
x=0:hane=0 screen 0,300,300 repeat cls if hane=0:x=x+5 if hane=1:x=x-5 pos x,150 print "o" if x>300:hane=1 if x<0:hane=0 wait 3 loop |
完璧(かんぺき)だね
俳句・・・「 変数も 役に立つとき あるもんだ 」
まあとにかく 説明行くぞ
簡単に説明するぞ
これは 状態変数(僕が付けた名前(勝手に付けていいのかな?))
というもので その名の通り そのモノの状態を 表すために使うのだ
(別に特別な変数と言うわけではなく ふつーの変数だ)
どういうことかというと 最初は 状態変数 hane は0だ
ということは if hane=0:x=x+5 で X に5が足されてく
ということは そのうち ウインドウの右に近ずいて if x>300:hane=1 この if が実行されて hane は1になる
ということは今度から if hane=1:x=x-5 が実行される つまり X の数値がだんだん減ってくようになる
そしてXが0より小さくなったら(ウインドウの左)
if
x<0:hane=0 これが実行されて hane が0にされてまた最初に戻るってこと
さてと今度は横だけではなくて縦でもやってみよう
〜完全な文字跳ね返し〜
今度は斜(なな)めに動いたりするのだ!
でも もう皆どうするか分かるだろ?
縦も 状態変数を使えば簡単だーーーーーー
x=0:y=150:hane=0:haney=0 screen 0,300,300 repeat cls if hane=0:x=x+5 if hane=1:x=x-5 if haney=0:y=y+5 if haney=1:y=y-5 pos x,y print "o" if x>300:hane=1 if x<0:hane=0 if y>300:haney=1 if y<0:haney=0 wait 3 loop |
どう? いい感じでしょ?
説明はせんぞ
とある人・・・「オヤブンって冷たいんだな」
僕・・・「うるさい!」
僕・・・「さっき説明したのと一緒」
とある人・・・「前から気になってるんだけど
あのプログラムの青いやつって何?」
僕・・・「ああ あれは皆に 前のプログラムと違う 所を
分かりやすくしてるのさ」
とある人・・・「オヤブンって親切」
僕・・・「どっちだよ さっき冷たいとか言ってきながら」
とある人・・・「さあ?」
僕・・・「ちょっと改良しよう ・・・こうした方がいいな」
x=0:y=150:hane=0:haney=0 sx=300:sy=300 screen 0,sx,sy repeat cls if hane=0:x=x+5 if hane=1:x=x-5 if haney=0:y=y+5 if haney=1:y=y-5 pos x,y print "o" if x>sx:hane=1 if x<0:hane=0 if y>sy:haney=1 if y<0:haney=0 wait 3 loop |
とある人・・・「何が変わった?」
僕・・・「青いとこがかわっかんだってば(怒)」
とある人・・・「300がsx とsyに なっちょる」
僕・・・「そう sxには ウインドウの横サイズ syには縦サイズを入れたんだ
そうすると 画面の大きさを変える時
一番上のとこでsx=
sy= の所を 直すだけで すむからね」
とある人・・・「なるへそ( 「なるほど」という意味です )」
みんな 細長いウインドウで 文字の跳ね返しをすると面白いぞ
sx=200 sy=400 とかで