めちゃくちゃ簡潔に、しかもメモリの容量とか気にせずにソースを書くとこうなる。
gakuhu="12345*";0は無表示,1〜5はz〜bボタンを押す
tenpo = 10 ;テンポの速さ
onebeat = 9500/tenpo //一拍の時間(ms)
perfect_tim = (1.0*PERFECT_LINE/480.0)//バー発生からPERFECT_LINEまでの時間
movms = (480.0/onebeat*2) //1msの移動量(1画面の縦サイズを一拍の時間で割る)
dim bt1,strlen(gakuhu)
dim bt2,strlen(gakuhu)
dim bt3,strlen(gakuhu)
dim bt4,strlen(gakuhu)
dim bt5,strlen(gakuhu)
dim gakuhuend
repeat
sbuf = strmid(gakuhu,cnt,1)
if sbuf = "1"{
bt1(cnt)=1
}
if sbuf = "2"{
bt2(cnt)=1
}
if sbuf = "3"{
bt3(cnt)=1
}
if sbuf = "4"{
bt4(cnt)=1
}
if sbuf = "5"{
bt5(cnt)=1
}
if sbuf = "*"{
gakuhuend=cnt
}
loop
これを理解すれば、なんとなく組めるはず……だろう……。