ポケットコンピューター(pc-g850vs)で
文字を移動させたいのですが、
文字が点滅しまくりとても見ずらいです。
プログラムはBASICでこんな感じです
(一部省略しています)
10:d= inkey$ <>"d"
50:locate 1,y
60:print "[ー"
61:wait 5
70:if d=0 then (dを押すと0、押さないと-1になる)
80: y=y-1 (上に移動)
90:else
100:endif
101 :locate 1.y
102:print "ㅤㅤ"
途中にclsを入れても点滅してしまいます。
どなたか点滅させずに表示する方法を教えてください!
No.1
- 回答日時:
ポケコン触ったのってン十年前ですが…。
>途中にclsを入れても点滅してしまいます。
表示内容を更新する必要のない時もclsで消して再表示しているから点滅しているように見えるのでしょう。
掲示されたコードだと、yが変化するときだけ画面の書き換えが必要になるので、行番号の50/60/101/102は、行番号80と90の間に入れるべきかと。
画面を構成するパーツが他にもある場合は更新用のサブルーチン作って、その中で必要な分だけ書き換えるようにすると良いかと。
No.2ベストアンサー
- 回答日時:
こんにちは
そのBASICは知らないので、雰囲気だけの回答ですが・・
ご提示の処理をループさせているのではないかと想像しますけれど、
>60:print "[ー"
>102:print "ㅤㅤ"
で、書いて、消すことを常に行っているので、点滅して見えるのではないでしょうか?
移動した時にだけ、「前の表示を消して、新しい位置に表示する」処理を行うようにすれば良いのではないでしょうか?
※ 雰囲気だけでの回答なので、外れている場合にはご容赦。
完全に盲点でした…
キー入力の時だけ表示し直してみたら
点滅しなくなりました!ありがとうございます!!!
一応書いておきます
50:if Q=0 then
51:locate 1,y
52:print " "(前の位置 ここで前の表示を消す)
60:y=y-1(位置を変える)
70:locate 1,y
80:print "A"(新しい位置で表示)
90:else
100:end if
No.3
- 回答日時:
カシオ派だったのでシャープ系 BASIC に明るくないのですが...
一般的には以下のような差分表示サブルーチンを組めばよいかと
今の場所 = 計算()
if 前の場所 <> 今の場所 then
locate 前の場所: print "△△"; ← 空白文字を必要数だけ
locate 今の場所: print "■■"; ← 表示したい文字
前の場所 = 今の場所
endif
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby パイソンプログラミング 2 2022/12/03 18:44
- JavaScript HTMLでJavaScriptを使ってパスワードの強化判定のプログラムを作成しています。 一通り作っ 2 2022/10/19 01:41
- Excel(エクセル) 製品番号での整列と、検索に関して 3 2023/06/28 19:20
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- 眼・耳鼻咽喉の病気 白内障手術で単焦点レンズを入れた方 術後の見え方を教えて下さい 1 2023/01/17 01:53
- その他(プログラミング・Web制作) COBOL数値転記をCOPY句内での仕様 6 2022/06/15 18:48
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Java Javaプログラミングの質問になります。 ボタンを押下した時に画面遷移して 画面から戻ってきた時のi 1 2023/06/26 07:50
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Pythonでターミナルに文字を出...
-
パイソンのクラスについて
-
int(input("○○"))の使い方
-
小数点付きの余分な桁を消すには
-
コーディングについて
-
PythonでUTF8の文字列をリスト...
-
$(ドル)の記号を表示したいの...
-
チェックボックスのCGIへの値の...
-
favicon.ico
-
I2C接続のLCDディスプレイを使う
-
Perlの例文でif($a==1&&$b==5&&...
-
Adafruit LIS3DH 3軸加速度セン...
-
perl言語について
-
m//gとm//gcの違い
-
16進の10進変換について
-
CLispのloop内の挙動について
-
Application.ScreenUpdating = ...
-
パイソンのクラスについて
-
どちのほうがすきですか?
-
パイソンのクラスのブログラム
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
16進の10進変換について
-
Pythonでターミナルに文字を出...
-
シェルスクリプトで、空白(ス...
-
【至急!!!】python言語で本を見...
-
pythonで演算子を変数に代入す...
-
c言語 16進数の2進数への変換
-
パイソンのクラスについて
-
I2C接続のLCDディスプレイを使う
-
関数「exists」と「defined」の...
-
pythonの*
-
変数の中は文字列か数値か調べ...
-
数値かどうかの判定方法
-
python print文のエラー
-
int(input("○○"))の使い方
-
Perlの例文でif($a==1&&$b==5&&...
-
awkの正規表現での最左最短マッ...
-
Use of uninitialized value ---
-
CGIでimgタグでalignを使うとエ...
-
swift 文字コードから文字に変...
-
javaのパッケージ構成で各パッ...
おすすめ情報