docu Minesweeper graphics Lib
DIM Board$(2,ROWS+1,COLS+1), dl(2,ROWS,COLS)
dim sprites$(20)
first=1
valid$="012345678Bf?*x"
blank$="*": uncovered$=" "
dim dr(8),dc(8)
for i=1 to 8
read dr(i),dc(i)
next i
data -1,-1, -1,0, -1,1, 0,1
data 1, 1, 1,0, 1,-1, 0,-1
rem read sprites names
i=0
repeat
n=i
i=i+1
read tmp$
sprites$(i)=tmp$
until ( tmp$="done" )
face$=""
happy$="32,32:000000000000000000000000000ff00000c0030000300c000800001004000020020000400200004001c3c38001a7e58080a7e50180a5a5018024240180c3c3018000000180000001800000018000000101000080012004800220044002400240048ff1200800001000300c0000c00300000ff000000000000000000000000000"
sad$="32,32:000000000000000000000000008ff10000c0030000300c000c0000300400002002000040030000c001c3c380012424808027e40180a7e50180a7e50180c3c3018000000180000001800000018000000101000080018ff1800240024002200440040000200800001000300c0000c00300000ff000000000000000000000000000"
export sub InitBoard(dx,dy)
local i,j,n
for i=1 to ROWS
for j=1 to COLS
if first=1 n=gui.AddClickArea(dx+25*(i-1),dy+25*(j-1),20,20)
Board$(1,i,j)=blank$
Board$(2,i,j)=" "
dl(1,i,j)=1
dl(2,i,j)=1
next j
next i
for i=1 to NB
repeat
row=ran(ROWS)
col=ran(COLS)
until ( Board$(2,row,col)=" ")
Board$(2,row,col)="B"
next i
first=0
end sub
sub ShowBoard(b,dx,dy)
local row,col,px,py,o
frame dx-2,dy-2 to dx+25*10-2,dy+25*10-2
for row=1 to ROWS
for col=1 to COLS
px=dx+25*(col-1)
py=dy+25*(row-1)
frame px,py to px+21,py+21
if dl(b,row,col)=1 then
box px,py to px+21,py+21
o=instr(valid$,Board$(b,row,col))
if o>0 then
putbit sprites$(o) to px+1 , py+1
fi
dl(b,row,col)=0
endif
next col
next row
end sub
Sub Hint(rx,cx)
local bc,n,tmp1$,tmp2$
bc=0
for n=1 to 8
if Board$(2,rx+dr(n),cx+dc(n))="B" bc=bc+1
next n
if bc=0 then
dl(1,rx,cx)=1
Board$(1,rx,cx)=uncovered$
if( (rx>1 and rx<10) and (cx>1 and cx<10)) then
for n=1 to 8
tmp1$=Board$(1,rx+dr(n),cx+dc(n))
tmp2$=Board$(2,rx+dr(n),cx+dc(n))
if tmp2$<>"B" and tmp1$<>uncovered$ then
Hint(rx+dr(n),cx+dc(n))
fi
next n
fi
else
Board$(1,rx,cx)=str$(bc,"%1.0f")
dl(1,rx,cx)=1
fi
End Sub
data "21,21:000001000020000400008000001000020000400008000001000020000400008000001000020000400008000001000020000400008fffff1"
data "21,21:0000010000200004000080000010c0020c1040c3080860010c00208104003080060010c0020c3040ef18000001000020000400008fffff1"
data "21,21:0000010000200004000080000010f3020ff0402818000301006020060400608006001060020ef040ef18000001000020000400008fffff1"
data "21,21:0000010000200004000080cf1010f70200c04008180003010c3020870400818000301006020ef040ef08000001000020000400008fffff1"
data "21,21:000001000020000400008008101083020870408d0808910181302816048ff380ff701003020060400c08000001000020000400008fffff1"
data "21,21:0000010000200004000080cf3018f70203004060080cf3018ff02008140003800060100c020ff140ef18000001000020000400008fffff1"
data "21,21:00000100002000040000808f3018f70203004060080cf3018ff0203814060380c060181c020ff140cf18000001000020000400008fffff1"
data "21,21:0000010000200004000080cf3018f70200c0400c0800c0010c00208104003080060010c0020810400008000001000020000400008fffff1"
data "21,21:00000100002000040000808f3018ff0203814060380c06018ff020ff14060380c060181c020ff140cf18000001000020000400008fffff1"
data "21,21:0000052000221004e000807e30deff12cfe7407df906ff31eeff2cfff58ffbb0fff71effc28ffd40fdc90cfe110ff1208f0400008fffff1"
data "21,21:aaaaabaaaabfffff2000f6000eb0c0cb1418f2620f6050eb0c0cb1018f2020f6040eb080cb1c38f2ef1f6000ebffffbfffffffffffffff1"
data "21,21:aaaaabaaaabfffffaaaafeafaebafbebbbeafababfeeabebaabebbabafaabafeaaaebaeaebbebafaabafeaaaebffffbfffffffffffffff1"
data "21,21:aaaaabaaaabfffffaaaafeaaaebaaaebbaaafaaaafeaaaebaaaebbaaafaaaafeaaaebaaaebbaaafaaaafeaaaebffffbfffffffffffffff1"
data "21,21:aaaaabaaaabfffff2000f630cebeccdb97d9f2ee1f68f1eb0e1cb1c38f2cf0f6cd3ebc9ecbddbbfaff7f6000ebffffbfffffffffffffff1"
data "done"
               (
geocities.com/sunsetstrip/palms/1624/yabasic)                   (
geocities.com/sunsetstrip/palms/1624)                   (
geocities.com/sunsetstrip/palms)                   (
geocities.com/sunsetstrip)