トピック
PianoRider pianorider
LOCATEについての質問です
19そうだね
プレイ済み
返信[1]
親投稿
PianoRider pianorider
これがトップ画面のプログラムです。 目安として、LOCATE 49、29 に時計の文字を置いておきました。 ヘビがスタート位置にきたらプログラムが終わるようにしてあります。 11行の数値28を29とすると・・・コメントへ続きます。
1そうだね
プレイ済み
返信[2]
親投稿
PianoRider pianorider
このように、Y軸の一番下にくると文字が2つ並んで表示され、最下段にくるたびにどんどん下がっていってしまいます。 なぜこのようなことが起こるのでしょうか? ご教授を宜しくお願い致します。
1そうだね
プレイ済み
返信[3]
親投稿
だにえる haru2016nen
PRINTで文字を表示した際、 1番下にくると自動で改行(スクロール)される 仕様になっています。 PRINT "A"; のように;を付ければ防げます。
1そうだね
未プレイ
返信[4]
親投稿
ねこはち neko800_2
PRINT (表示内容)の後に「;」がない場合は自動的に改行されるためだと思います。 PRINT A$; カーソル位置が維持されるため改行されないからスクロールもしない PRINT A$ 最下段の場合は改行したとみなされ自動でスクロールが入る
1そうだね
プレイ済み
返信[5]
親投稿
ひろきち henahenachoco
試しに @LOOP LOCATE 0,28 ? 28 LOCATE 5,29 ? 29 GOTO @LOOP を実行してみてください。 28と29の文字がズラーっと表示されて、 一番下の29の横に28は表示されていないと思います。 恐らくなのですが、 コンソールのY軸29になにかをPRINTすると、 Y0の内容を破棄して全部ひとつずつ上にずらしてY軸28にPRINTする、という処理がされると思います。 なんでこうなるかはわかりません。 コンソールってそういうもんだと思えばいいと思います。 なので実質、コンソールのY軸の限界は28です。
1そうだね
プレイ済み
返信[6]
親投稿
ひろきち henahenachoco
あ!文章を考えて入力している間に、とびっきりの回答が! 改行するかどうか、なんてのがあったのでしね! 知らなかったです!
1そうだね
プレイ済み
返信[7]
親投稿
PianoRider pianorider
だにえるさん、ねこはちさん、へたれさん、 ご教授をありがとうございました^^ ;でカーソル位置を維持する、ということと コンソールにおけるY軸の仕様、ということを理解できました。
2そうだね
プレイ済み