Advertisement
Guest User

Untitled

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