横からきて全然違うスクリプト載せるので混乱したら申し訳ありません。
変数を規則正しく繰り返す、すなわち順繰り無限ループするには+1して余りを求めるのが便利です。
余りを使うと+1して数値が最大数に到達したときに完全に割り切れて余りが0になり最初に戻るので、if 変数 = 最大数 : 変数=0 みたいなことをしなくてすみます。
例えば全6種で0〜5の数値を繰り返すには、(変数 + 1) \ 6 とします。
(HSP3の剰余は円マーク(バックスラッシュ)で求めます)
数値の代わりに文字列を表示したい場合は、文字列型配列変数に文字をあらかじめ代入しておいて要素数を指定して取り出すのが良いでしょう。
どの要素を取り出すのかを保存した変数を上記の無限ループで設定すれば順繰りのスロットが作れます。
追記:コードにミスがあったので投稿し直しました
// 柄の個数
#define MAXPATTERN 6
randomize
screen 0
// 柄を文字列型配列変数にとっておく
sdim pattern, 64, MAXPATTERN
pattern(0) = "7"
pattern(1) = "★"
pattern(2) = "〇"
pattern(3) = "§"
pattern(4) = "※"
pattern(5) = "∀"
dim btnID, 3
dim isStop, 3
dim btnNum, 3
// 最初はランダム
repeat 3
btnNum(cnt) = rnd(MAXPATTERN)
loop
objsize 100, 30
pos 70, 200
button gosub "止める", *stopbtn
btnID(0) = stat
pos 270, 200
button gosub "止める", *stopbtn
btnID(1) = stat
pos 470, 200
button gosub "止める", *stopbtn
btnID(2) = stat
pos (ginfo_winx - 100) / 2, 300
button gosub "スタート", *startbtn
btnStart = stat
// 開始時の処理
gosub *startbtn
// メインループ
*main
redraw 0
color 255, 255, 255
boxf
color 0, 0, 0
font MSgothic, 30, 1
// スロットの数だけ
repeat 3
// 順番に無限ループするには、+1してから最大数で割った余りで求められます
// この場合は +1した数が MAXPATTERN = 6 になると 6÷6…0 で余りが0になって最初に戻ります
if (isStop(cnt) == 0) : btnNum(cnt) = (btnNum(cnt) + 1) \ MAXPATTERN
pos 110 + (cnt * 200), 30
mes pattern(btnNum(cnt))
loop
redraw 1
await 500
goto *main
stop
// ------------------------------
// 各停止ボタン
// ------------------------------
*stopbtn
// buttonからのジャンプはstatにボタンIDが入る
// statの値は命令を実行するごとに変わるので、初めに保存しておくのが好ましい
id = stat
repeat 3
if (id == btnID(cnt)) {
isStop(cnt) = 1
objenable btnID(cnt), 0 // 押せないようにする
break //←looplevが下がらないのでreturnはダメ
}
loop
if (isStop(0) == 1 && isStop(1) == 1 && isStop(2) == 1) : gosub *allstopped
return
// ------------------------------
// 全部止まったとき
// ------------------------------
*allstopped
dialog "結果\n" + pattern(btnNum(0)) + " " + pattern(btnNum(1)) + " " + pattern(btnNum(2)) + ""
objenable btnStart, 1
return
// ------------------------------
// スタートボタン
// ------------------------------
*startbtn
// 停止フラグリセット
repeat 3
isStop(cnt) = 0
objenable btnID(cnt), 1
loop
objenable btnStart, 0
return