hope it help its a bit of a mess
loadbitmap:
bitmap$="c:\blocks.bmp"
butclick(1)=0
load bitmap bitmap$,30
set current bitmap 30
sizx=bitmap width()/grid
sizy=bitmap height()/grid
bitmapnum=bitmapnum+1
tile$(bitmapnum)=c$
i=0
po=po-grid
ib=0
for a=1 to bitmap width()/grid
for b=1 to bitmap height()/grid
ib=ib+1
get image ib,po+a*grid,po+b*grid,a*grid,b*grid
next a
next b
po=0
in=ib
i=in
cls
sleep 1
set current bitmap 0
cls
gosub pick_tile
endif
return
pick_tile:
butclick(1)=0
mc=0
sizx=screen width()/grid
sizy=screen height()/grid
show mouse
ink rgb(rgbr(colorit(1)),rgbg(colorit(1)),rgbb(colorit(1))),1
box 0,0,bitmap width(0)-1,bitmap height(0)-1
i=0
ib=0
po=po-grid
dim tilepos(sizx,sizy)
for a=1 to sizx
for b=1 to sizy
ib=ib+1
paste image ib,po+a*grid,po+b*grid
tilepos(po+a+grid,po+b+grid)=ib
next a
next b
po=0
``........................DRAW GRID............
ink rgb(250,250,250),1
for b=0 to screen height()/grid
line 0,b*grid,screen width(),b*grid
next b
for a=0 to screen width()/grid
line a*grid,0,a*grid,screen height()
next a
`........................END DRAW GRID.........
`sync
do
mc=mouseclick()
bxm=mousex()/grid
bxm=bxm*grid
bym=mousey()/grid
bym=bym*grid
if mc=1
set current bitmap 0
i=tilepos(bxm/grid+1,bym/grid+1)
if sprite exist(i)=1 then show sprite i
undim tilepos(sizx,sizy)
return
endif
sync
loop
return
You can do it if you try