Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- DIM grid (100,100)
- DIM scanner (100,100)
- DIM map (100,100)
- start=2
- goal=3
- `make camera 1
- `position camera 1,35,25,-100
- `POINT camera 35,25,0
- DATA 1,1,1,1,1,1,1
- DATA 1,2,1,0,1,3,1
- DATA 1,0,1,0,1,0,1
- DATA 1,0,0,0,0,0,1
- DATA 1,1,1,1,1,1,1
- a=0
- FOR y = 1 TO 5
- FOR x = 1 TO 7
- a=a+1
- READ griddata
- grid(x,y) = griddata
- ` IF griddata = 0 THEN make object sphere a, 2: Position object a, x*10,y*10,0: color object a, rgb(255,255,0)
- ` IF griddata = 1 THEN make object cube a,10 : position object a, x*10,y*10,1
- ` IF griddata = 2 THEN make object cube 40,5: position object 40,x*10,y*10,0: color object 40, rgb(0,0,255)
- ` IF griddata = 3 THEN make object cube 41,5: position object 41,x*10,y*10,0: color object 41, rgb(255,0,0)
- ` POINT camera x*100,y*100,0
- IF griddata=2 THEN startcoordx=x
- IF griddata=2 THEN startcoordy=y
- IF griddata=3 THEN stopcoordx=x
- IF griddata=3 THEN stopcoordy=y
- NEXT x
- NEXT y
- searchx=startcoordx
- searchy=startcoordy
- FOR y=1 TO 5
- FOR x= 1 TO 7
- scanput = grid(x,y)
- set cursor x*16,16 +(y*16)
- PRINT scanput
- NEXT
- NEXT
- SLEEP 1000
- scannert(searchx,searchy,1)
- FOR y=1 TO 5
- FOR x= 1 TO 7
- scanput = scanner(x,y)
- set cursor x*16,16 +(y*16)
- PRINT scanput
- NEXT
- NEXT
- DO:
- LOOP
- FUNCTION scannert(x,y,distance)
- scanner(x, y) = distance ` set the distance TO current location
- countert=countert+1
- set cursor x*16, 16+(y*16)
- PRINT "*"
- SLEEP 500
- ` scan left
- gridvar = grid(x-1, y)
- scanvar = scanner(x-1, y)
- beenthere=map(x-1,y)
- IF scanvar < distance AND gridvar =0 AND beenthere=0 THEN scannert(x-1, y, distance + 1.0): map(x-1,y)=1
- ` scan right
- gridvar = grid(x+1, y)
- scanvar = scanner(x+1, y)
- beenthere=map(x+1,y)
- IF scanvar < distance AND gridvar =0 AND beenthere=0 THEN scannert(x+1, y, distance + 1.0): map(x+1,y)=1
- ` scan up
- gridvar = grid(x, y-1)
- scanvar = scanner(x, y-1)
- beenthere=map(x,y-1)
- IF scanvar < distance AND gridvar =0 AND beenthere=0 THEN scannert(x, y-1, distance + 1.0): map(x,y-1)=1
- ` scan down
- gridvar = grid(x, y+1)
- scanvar = scanner(x, y+1)
- beenthere=map(x,y+1)
- IF scanvar < distance AND gridvar =0 AND beenthere=0 THEN scannert(x, y+1, distance + 1.0):: map(x,y+1)=1
- endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement