bgmsetd 128,@mml
BGMPLAY 128
WAIT 300
@mml
data ":0 v100q91o5l8c e q93l4d b g q91l8a g q93l4g f f q91<l8a "
DATA "b q93>l4c a f q91l8g f q93l4e d d q91<l8b >c "
DATA "q93l4d q91l8g a q93l4b q91l8a f q93l4e q91l8a b"
DATA "q93l4b q91l8b a q93l4d >c <b a q63l2.g q94l4.g q91l8g"
DATA "q93l4b g q94l4.a q91l8a q70l2a l4.a q91l8a "
DATA "q93>l4c <a q94l4.b q91l8b q70l2b l4.b q91l8b q93>l4d "
DATA "<b q94>l4.c q91l8c q94l4.c q91<l8b a q54l2^4.d"
と入力したのですが、illegal mml と表示されてしまいます。
古典的な方法としては、
X座標・Y座標・状態・移動ベクトルなど、の4つを登場キャラ数分配列宣言しておいて
for〜next内で処理するのが簡単かと。
例)
for i=0 to 9 ”10キャラ分
if st(i)==1 then gosub @tekimove ”st()=状態用。0=停止・1=移動中
next
:
@tekimove ”v()=移動ベクトル用。移動パターン数分用意。
on v(i) gosub @移動パターン1,@移動パターン2,@移動パターン3・・
return