確かにcntや配列変数を使えば文量が抑えれそうですね。繰り返し処理でスクリプトを圧縮するとしたら、こんな感じでしょうか。以下は一例
randomize
screen 0,300,300
color 0,0,0
boxf
pos 125,135
objsize 50,30
button "スタート",*a1
stop
*a1
cls
color 0,0,0
boxf
repeat 9, 1
celload ""+cnt+".jpg", cnt
celload ""+cnt+cnt+".jpg", cnt*11
loop
repeat 6, 1
mmload "ギター"+cnt+".wav", cnt-1, 0
mmload "ドラム"+cnt+".wav", cnt+7, 0
loop
mmload "シンバル.wav",6,0
mmload "ドラム.wav",7,0
goto *a2
*a2
repeat 9
pos (cnt\3)*100, 200-(cnt/3)*100
celput cnt+1
loop
dim pre_br, 9
sound_buffer = 7, 6, 8, 9, -1, 10, 11, 12, 13
redraw_flag = 0
repeat
wait 10
redraw_flag = 0
repeat 9
getkey br1, 49+cnt //キーボード最上段の数字
getkey br2, 97+cnt //電卓テンキーの数字
if pre_br(cnt) = (br1|br2) : continue
pre_br(cnt) = (br1|br2)
redraw_flag = 1
pos (cnt\3)*100, 200-(cnt/3)*100
if (br1|br2) = 0 {
celput cnt+1
continue
}
celput (cnt+1)*11
if sound_buffer(cnt) = -1 {
mmplay rnd(6)
continue
}
mmplay sound_buffer(cnt)
loop
if redraw_flag : redraw 1 : redraw 0
loop
stop