I have a 9x9 grid here is the code for it,
global r
r = make vector2(1)
r = make vector2(2)
r = make vector2(3)
r = make vector2(4)
set vector2 1, 40, -20
set vector2 2, -40, -20
global oX
global oY
oX = screen width() / 2
oY = screen height() / 4 * 3 + 100
global TilesX
global TilesY
TilesX = 9
TilesY = 9
drawNewGrid()
do
loop
function drawNewGrid()
copy vector2 3, 2 : multiply vector2 3, TilesY
set vector2 4, oX, oY : add vector2 3, 3, 4
for x = 0 to TilesX
line x vector2(4), y vector2(4), x vector2(3), y vector2(3)
add vector2 3, 3, 1
add vector2 4, 4, 1
next x
copy vector2 3, 1 : multiply vector2 3, TilesX
set vector2 4, oX, oY : add vector2 3, 3, 4
for y = 0 to TilesY
line x vector2(4), y vector2(4), x vector2(3), y vector2(3)
add vector2 3, 3, 2
add vector2 4, 4, 2
next y
endfunction
How do I find out the size of each individual tile? I need to create a snap to tile function. I have placed my entire code if you need it.
sync on
sync rate 60
open to read 1,"files\setup.txt"
read string 1,experience$
read string 1,level$
read string 1,money$
read string 1,mayor$
read string 1,cityname$
global experience
global level
global money
global mname$
global cname$
experience = val(experience$)
level = val(level$)
money = val(money$)
mname$ = mayor$
cname$ = cityname$
close file 1
load image "media\plot.png",1
load image "media\Property.png",2
load image "media\road.png",3
global r
r = make vector2(1)
r = make vector2(2)
r = make vector2(3)
r = make vector2(4)
set vector2 1, 40, -20
set vector2 2, -40, -20
global oX
global oY
oX = screen width() / 2
oY = screen height() / 4 * 3 + 100
global TilesX
global TilesY
TilesX = 9
TilesY = 9
backdrop off
rn = 1
do
cls
hud()
print mousex()
print mousey()
drawNewGrid()
`Finding the point along in that coordinate system...
set vector2 3, mousex() - oX, mousey() - oY
d1# = dot product vector2(1, 3)
d2# = dot product vector2(2, 3)
d3# = dot product vector2(1, 2)
la# = length vector2(1)
lb# = length vector2(2)
global coordX#
global coordY#
coordX# = (d1#*lb#*lb# - d2#*d3#) / ((la#*lb#)^2 - d3#^2)
coordY# = (d2#*la#*la# - d1#*d3#) / ((la#*lb#)^2 - d3#^2)
x1 = snapGridX()
y1 = snapGridY()
x2 = x1 + 50 `These almost worked, but were off with the mouse..
y2 = y1 + 50
sprite 1,x1,y1,3 `Replace with own image if needed
set cursor 0,0
sync
loop
function hud()
print "$"+str$(money)
print "Level: "+str$(level)
print "XP: "+str$(experience)
print coordX#, " : ", coordY#
text 0,400,"Pave Main [R]oad"
center text 400,0,cname$
center text 400,15,"Mayor "+mname$
endfunction
function drawNewGrid()
copy vector2 3, 2 : multiply vector2 3, TilesY
set vector2 4, oX, oY : add vector2 3, 3, 4
for x = 0 to TilesX
line x vector2(4), y vector2(4), x vector2(3), y vector2(3)
add vector2 3, 3, 1
add vector2 4, 4, 1
next x
copy vector2 3, 1 : multiply vector2 3, TilesX
set vector2 4, oX, oY : add vector2 3, 3, 4
for y = 0 to TilesY
line x vector2(4), y vector2(4), x vector2(3), y vector2(3)
add vector2 3, 3, 2
add vector2 4, 4, 2
next y
endfunction
function snapGridX()
snapX as float
snapX = mousex() - oX
snapX = floor(snapX / 76)
snapX = ( snapX * 76 ) + oX
endfunction snapX
function snapGridY()
snapY as float
snapY = mousey() - oY
snapY = floor( snapY / 40 )
snapY = ( snapY * 40 ) + oY
endfunction snapY
Thanks!

Zeus