この命令的には、 変数 = INSTR( [開始位置,] "元文字列", "検索する文字列" ) という使い方になります。 開始位置は始めからにしたいので省略して、元文字列は始めに作ったMC$になります。これに対して検索する文字列はマップから取り出すM$[X]になります。こうすると対応する文字の存在する位置が数値として取得出来るのです。 (見つからなかった場合は-1になります) こうして見つかった位置(N)は事前に作った配列MNのインデックス(位置)と同一になるようにしてあるので、MN[N]とすることでBGキャラ番号に変換できるわけです。 変換できればあとは簡単なのでBGPUTで配置するだけです。