Archiverse Internet Archive
キャサリン z.vu5spo9x
日本
誕生日非公開
ゲームの腕前中級者
利用したゲーム機Wii U
フレンド-/100
フォロー-
フォロワー-
投稿数2
そうだね数4
取得日時

投稿のみ 投稿と返信
前のページ(最近)
1
次のページ(過去)
返信[9]
親投稿
キャサリン z.vu5spo9x
(例1)  K$=INKEY$() の右式は変数ではなく、文字列型の式なので、コピー処理を行う。 INKEY$が未初期化の長さ0の文字列を返していれば、K$の内容は""になる。 (例2)  K$=SA$[5] の右式は文字列型の変数なので、その参照をK$に代入する。 SA$[5]の内容が未初期化の長さ0の文字列であれば、K$の内容も同じ未初期化の長さ0の文字列である。 難しいですが、こうだと思います、多分。
1そうだね
プレイ済み
返信[8]
親投稿
キャサリン z.vu5spo9x
あ、不可解じゃないです。解りました。 代入文にて、=より右の式が ・文字列型変数(または、その配列の要素)だけのときは、その変数が指し示すメモリーの参照を代入する。 ・演算結果の型が文字列型になるときは、新たにメモリーを割り当て、演算結果の内容をコピーし、その割り当てたメモリーの参照を代入する。 演算結果が「未初期化の長さ0の文字列であれば、通常の長さ0の文字列を割り当て、その参照を代入する。」 (つづく)
3そうだね
プレイ済み
返信[6]
親投稿
キャサリン z.vu5spo9x
>>おちゃめさん あら、ほんとだ。INKEY$の戻り値を変数に代入するだけでよいみたいですね。なんか勘違いをしていました。 VAR SA$[9] K$=SA$[5] '←未初期化の長さ0の文字列の参照を代入 とし、 ? VAL(K$) とすると、VALでType mismatchとなることを知っていたので、 その先入観でコメントしてしまいました。 ...それにしても、何だか不可解な挙動をしますね、コレ。
1そうだね
プレイ済み
返信[2]
親投稿
キャサリン z.vu5spo9x
プチコン内部では、「未初期化の長さ0の文字列」と通常の長さ0の文字列("")が存在するそうで、この2つはそれぞれ別物として扱われています。 どうもINKEY$は、キーが何も押されていない時に""ではなく、「未初期化の長さ0の文字列」を返しているようです。 そして、  VAL("") は0を返しますが、  VAL(「未初期化の長さ0の文字列」) はType mismatchになるようです。 幸い、「未初期化の長さ0の文字列」==""の演算結果がTRUE(1)となるので、  K$=INKEY$()  IF K$=="" THEN K$="" と、K$が未初期化の長さ0の文字列であれば、K$に通常の長さ0の文字列を代入すると良いでしょう。 ちなみに、文字列変数の配列を宣言すると、すべての要素は未初期化の長さ0の文字列になります。
2そうだね
プレイ済み
返信[1]
親投稿
キャサリン z.vu5spo9x
トップメニュー → オプション → 右下のUSBキーボードの設定を変更してみてください。
1そうだね
プレイ済み
返信[8]
親投稿
キャサリン z.vu5spo9x
Pause/BreakキーでSTOPできるので、 Ctrl+CやF5に割り当てなくてもよいような気が、、、。
0そうだね
プレイ済み
返信[2]
親投稿
キャサリン z.vu5spo9x
受け取り変数を省略すると 余分なコピーが発生しないようで、 ほんの少しだけ処理が速くなります。 Wii Uではもともとの処理が速いので 効果が小さいですが、 旧3DSでは場合によっては効果的かも。
2そうだね
プレイ済み
プレイ日記
キャサリン z.vu5spo9x
OUTの変数が2つ以上の命令を呼び出すとき、 呼び出し側で必ず変数を用意して 受け取らなければならない 「という事はない」 ようですね。今、知りました。 (既出な情報だったらスイマセン、、、)
14そうだね
プレイ済み
トピック
キャサリン z.vu5spo9x

16ドットのフォントを変更したい

16ドットの内蔵フォント (プログラム編集時の「フォント大」、 実行時のGPUTCHR16で描画されるフォント) をカスタムフォントに置き換えたいのですが、 どなたか変更方法をご存じですか? 8ドットのフォントは リソース名をGRPFとしてLOADで グラフィックファイルを読み込めばよかったのですが。
3そうだね
プレイ済み
返信[4]
親投稿
キャサリン z.vu5spo9x
WIDTH 16,16にしたところ、うまくいきました。 ありがとうございます! この表示モード、コンソール文字も16ドットフォントを使って表示するのですね。 LOAD "GRPF:~"としても 8ドットフォントが置き換わってしまうので、 FONTDEFを使って1文字ずつ置き換えていく必要があります。 WIDTH 16,16 LOAD "GRP3:MYFONT16",FALSE VAR IMG[0] FOR I=32 TO 127 GSAVE 3,(I MOD 64)<<4,(I DIV 64)<<4,16,16,IMG,1 FONTDEF I,IMG NEXT
3そうだね
プレイ済み
返信[2]
親投稿
キャサリン z.vu5spo9x
すいません。折角コメントを頂き、いろいろ試しましたが どうもうまくいきません。 私はなにか勘違いをしているのでしょうか。 試したプログラムをここに貼ります。 ご指摘お願いいたします。
1そうだね
プレイ済み