DIM i
, x1
, y1
, w1
, h1
, r1
, g1
, b1
x = 0
y = 0
'Alternate Method check
'read data into arrays and try drawing from arrays
'DIM ox(3), oy(3), ow(3), oh(3), ored(3), og(3), ob(3)
'FOR i = 0 TO 3
' READ x1, y1, w1, h1, r1, g1, b1
' ox(i) = x1: oy(i) = y1: ow(i) = w1: oh(i) = h1: ored(i) = r1: og(i) = g1: ob(i) = b1
'NEXT
'OPEN "blocks.txt" FOR INPUT AS #1
'WHILE NOT EOF(1)
' INPUT #1, x1, y1, x2, y2, r, g, b
' makeobs x1, y1, x2, y2, r, g, b
'WEND
'CLOSE #1
RESTORE blocks
'OK works now, there was a problem with variable naming READ x1
, y1
, w1
, h1
, r1
, g1
, b1
makeobs x1, y1, w1, h1, r1, g1, b1
'_DISPLAY
'ok this draws all obstacles
'FOR i = 0 TO 3
' makeobs ox(i), oy(i), ow(i), oh(i), ored(i), og(i), ob(i)
'NEXT
oldy = y: oldx = x
RESTORE blocks
'OK works now, there was a problem with variable naming READ x1
, y1
, w1
, h1
, r1
, g1
, b1
IF collision%
(x
, y
, 20, 20, x1
, y1
, w1
, h1
) THEN y = oldy
x = oldx
'ELSE
' oldy = y
' oldx = x
'The sprites will be 20x20 pixels, I believe...
blocks:
DATA 100,100,100,100,255,0,0 DATA 200,200,100,100,0,0,255 DATA 300,300,100,100,255,255,0 DATA 400,400,100,100,0,128,128
FUNCTION collision%
(b1x
, b1y
, b1w
, b1h
, b2x
, b2y
, b2w
, b2h
) IF (b1y
+ b1h
< b2y
) OR (b1y
> b2y
+ b2h
) OR (b1x
> b2x
+ b2w
) OR (b1x
+ b1w
< b2x
) THEN collision% = 0
collision% = 1
SUB makeobs
(x1
, y1
, w
, h
, r
, g
, b
)