Advertisement
zbeucler

grid-draw.ss

Feb 21st, 2021
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.38 KB | None | 0 0
  1. (define draw-obstacles
  2. (lambda (grid)
  3. (draw-obstacles2 0 grid)))
  4.  
  5. (define draw-obstacles2
  6. (lambda (row grid)
  7. (cond
  8. ((= row num-col-row))
  9. (else
  10. (draw-row row 0 (car grid))
  11. (draw-obstacles2 (+ row 1) (cdr grid))))))
  12.  
  13. (define draw-row
  14. (lambda (row col lst)
  15. (cond
  16. ((= col num-col-row))
  17. ((= (car lst) goal-node)
  18. (send canvas make-goal col row)
  19. (draw-row row (+ col 1) (cdr lst)))
  20. ((= (car lst) obstacle)
  21. (send canvas make-obstacle col row)
  22. (draw-row row (+ col 1) (cdr lst)))
  23. (else
  24. (send canvas make-free col row)
  25. (draw-row row (+ col 1) (cdr lst))))))
  26.  
  27. (define draw-robot
  28. (lambda ()
  29. (let ((x (car robot))
  30. (y (cadr robot)))
  31. (send canvas make-robot x y))))
  32.  
  33. (define draw-visited
  34. (lambda (x y)
  35. (send canvas make-visited x y)))
  36.  
  37. (define draw-frontier
  38. (lambda (x y)
  39. (send canvas make-frontier x y)))
  40.  
  41. (define draw-path-node
  42. (lambda (x y)
  43. (send canvas make-path-node x y)))
  44.  
  45. (define draw-moved-robot
  46. (lambda (x y)
  47. (send canvas move-make-robot x y)))
  48.  
  49. (define draw-start
  50. (lambda ()
  51. (let ((x (car start))
  52. (y (cadr start)))
  53. (send canvas make-start x y))))
  54.  
  55. (define draw-goal
  56. (lambda ()
  57. (let ((x (car goal))
  58. (y (cadr goal)))
  59. (send canvas make-goal x y))))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement