「5マスx5マスのブロックが、縦に3ブロック、横に4ブロックで、合計12ブロック」
「各ブロック毎に3マスを塗りつぶし、全体では36マスを塗りつぶす」
という認識で良いでしょうか?
各ブロックについて、「25枚中3枚が当たりのクジを使って抽選を行う」という手法でやってみました。
#define swap(%1,%2) _sw=%1 : %1=%2 : %2=_sw %c //%1の変数と%2の変数の中身を交換するマクロ
#define boxf2(%1,%2,%3,%4) boxf %1,%2,(%1)+(%3)-1,(%2)+(%4)-1 //(%1,%2)を起点に、(%3,%4)の大きさの矩形を描画
randomize
dim board,20,15 //盤面
repeat 20 : cnt0=cnt : repeat 15 : board(cnt0,cnt)=0 : loop : loop //盤面を初期化
dim lotte,25 //抽選箱
repeat 4
x0=cnt //対象ブロックが左から何番目か
repeat 3
y0=cnt //対象ブロックが上から何番目か
//抽選箱に3つだけ「当たり」をセット
repeat 25
if cnt<3 : lotte(cnt)=1 : else : lotte(cnt)=0
loop
//抽選箱をかき混ぜる
repeat 25
a=rnd(25)
swap lotte(cnt),lotte(a)
loop
//ボードに配置
repeat 25
x1=cnt\5 : y1=cnt/5
board(x0*5+x1,y0*5+y1)=lotte(cnt)
loop
loop
loop
//盤面を描画
color 255,255,255 : boxf
color 0,0,0 : boxf2 0,0,400,300
repeat 20
cnt0=cnt
repeat 15
a=( int(cnt0/5)+int(cnt/5) ) \ 2 : b=255-a*32
if board(cnt0,cnt)=1 : color 255,0,0 : else : color b,b,b
boxf2 cnt0*20+1,cnt*20+1,18,18
loop
loop