BASIC - 文字列関係
BASICで文字列を扱う時のテクニックです。
MID$
EASY,NORMAL,HARDといった難易度を表す文字列を難易度にあわせて表示したい。そういう時、
10 IF A=0 THEN PRINT "EASY"
20 IF A=1 THEN PRINT "NORMAL"
30 IF A=2 THEN PRINT "HARD"
なんていちいちこんな長々と書く必要はありません。
MID$という命令を使えばものすごく簡単になります。
PRINT MID$("ABCDE",3,2)
この場合、「"ABCDE"という文字列の3文字目から2文字取り出す」という意味になります。
これをうまく利用すると、
PRINT MID$("EASY NORMALHARD",A*6+1,6)
こんな風に簡単になります。
A=0のときは"EASY "と、A=1のときは"NORMAL"と、A=2のときは"HARD"と表示されます。
このとき注意してほしいのは、同じ文字数じゃないといけないということ。そのため、EASYの後に2つスペースを入れて6文字にしています("HARD"の後のスペースは仕様上要りません)。つまり、スペースが表示されてしまうわけです。支障がなければこれでいいのですが、スペースが表示されると困るという場合はこうしましょう。
PRINT MID$ ("EASYNORMALHARD",(A=2)*-2+A*4+1,(A=0)*2+6)
このように条件演算を使えば何とかなりますが、複雑でかつ実行速度が落ちてしまいます。
Copyright(C) tosikE-Mail:
Weblog: Tosikの雑記