Advertisement
Guest User

Untitled

a guest
May 22nd, 2017
136
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
QBasic 2.04 KB | None | 0 0
  1. DIM grid (100,100)
  2. DIM scanner (100,100)
  3. start=2
  4. goal=3
  5. `make camera 1
  6. `position camera 1,35,25,-100
  7. `POINT camera 35,25,0
  8. DATA 1,1,1,1,1,1,1
  9. DATA 1,3,1,0,1,2,1
  10. DATA 1,0,1,0,1,0,1
  11. DATA 1,0,0,0,0,0,1
  12. DATA 1,1,1,1,1,1,1
  13.  
  14. a=0
  15. FOR y = 1 TO 5
  16.    FOR x = 1 TO 7
  17.       a=a+1
  18.       READ griddata
  19.       grid(x,y) = griddata
  20. `      IF griddata = 0 THEN make object sphere a, 2: Position object a, x*10,y*10,0: color object a, rgb(255,255,0)
  21. `      IF griddata = 1 THEN make object cube a,10 : position object a, x*10,y*10,1
  22. `      IF griddata = 2 THEN make object cube 40,5: position object 40,x*10,y*10,0: color object 40, rgb(0,0,255)
  23. `      IF griddata = 3 THEN make object cube 41,5: position object 41,x*10,y*10,0: color object 41, rgb(255,0,0)
  24. `      POINT camera x*100,y*100,0
  25.       IF griddata=2 THEN startcoordx=x
  26.       IF griddata=2 THEN startcoordy=y
  27.       IF griddata=3 THEN stopcoordx=x
  28.       IF griddata=3 THEN stopcoordy=y
  29.    NEXT x
  30. NEXT y
  31.  
  32. searchx=startcoordx
  33. searchy=startcoordy
  34. scannert(searchx,searchy,99)
  35.  
  36. DO:
  37.  
  38. sync
  39. LOOP
  40.  
  41. FUNCTION scannert(x,y,distance)
  42. scanner(x, y) = distance    ` set the distance TO current location
  43.  
  44. SLEEP 250
  45. sync
  46.  
  47. FOR yf = 1 TO 5
  48.    FOR xf = 1 TO 7
  49.       scanput = grid(xf,yf)
  50.       set cursor xf*16,yf*16
  51.       PRINT scanput
  52.       scanput = scanner(xf,yf)
  53.       set cursor xf*16,140+yf*16
  54.       PRINT scanput
  55.    NEXT
  56. NEXT
  57.  
  58. PRINT "x = ", x, "y = ", y, " distance = ", distance
  59.  
  60. KEY$ = INKEY$()
  61. IF KEY$ = "a" THEN END
  62.  
  63. ` scan left
  64. gridvar = grid(x-1, y)
  65. scanvar = scanner(x-1, y)
  66. IF scanvar < distance AND gridvar <> 1 THEN scannert(x-1, y, distance - 1)
  67.  
  68. ` scan right
  69. gridvar = grid(x+1, y)
  70. scanvar = scanner(x+1, y)
  71. IF scanvar < distance AND gridvar <> 1 THEN scannert(x+1, y, distance - 1)
  72.  
  73. ` scan up
  74. gridvar = grid(x, y-1)
  75. scanvar = scanner(x, y-1)
  76. IF scanvar < distance AND gridvar <> 1 THEN scannert(x, y-1, distance - 1)
  77.  
  78. ` scan down
  79. gridvar = grid(x, y+1)
  80. scanvar = scanner(x, y+1)
  81. IF scanvar < distance AND gridvar <> 1 THEN scannert(x, y+1, distance - 1)
  82.  
  83. endfunction
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement