プチコンで遊ぼう! (はてなブログ版)

任天堂3DSのプチコンで遊ぼう! [twitter:@eida_s]

はてなダイアリーから移行しました。 はてなダイアリーのURLを開いても自動的にこちらにリダイレクトされますのでご了承ください。

SMILE BASIC 小技(9)

PRGINSで動的にコードを追加する方法。

PRGINSで他のスロットにコードを追加した後にUSEを実行すると、追加したコードを実行することができる。
PRGINS毎にUSEを使えば、何度でもコードを追加できる。

例:

VAR DQ$=CHR$(34)
PRGEDIT 3
PRGDEL -1

PRGINS "DEF A"
PRGINS " ?"+DQ$+"A"+DQ$
PRGINS "END"

USE 3
CALL "3:A"

PRGINS "DEF B"
PRGINS " ?"+DQ$+"B"+DQ$
PRGINS "END"

USE 3
CALL "3:B"

USEが2度現れているが、問題なく実行できる。

これを応用する例としては、ツール系のプログラムで設定ファイルにコードを書いて追加するとか、ユーザーに入力させたコードを実行する等が考えられる。

ただし、一般的な注意として、最初にプログラムを実行したスロットをPRG系命令で編集することはできないので気を付ける必要がある。