Advertisement
zbeucler

grid-draw.ss

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