Logo Bolo: a re-envisioning of the classic tank game by Stuart Cheshire in NetLogo
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

46 rivejä
902 B

  1. ;; lobo: Logo Bolo
  2. ;; (c) Ben Kurtovic, 2011
  3. to spawn-player
  4. create-tanks 1 [
  5. set player tank who
  6. set-tank-vars 0 true
  7. ]
  8. end
  9. to do-player-logic
  10. if mouse-inside? [
  11. if mouse-down? and not mouse-was-down? [
  12. set is-accelerating? true
  13. set player-has-target? true
  14. set player-target-xcor (round mouse-xcor)
  15. set player-target-ycor (round mouse-ycor)
  16. ]
  17. set mouse-was-down? mouse-down?
  18. ]
  19. ifelse player-has-target? [
  20. tank-facexy player-target-xcor player-target-ycor
  21. let dist distancexy player-target-xcor player-target-ycor
  22. if dist < 2 and speed > 0.075 [
  23. decelerate friction * 5
  24. ]
  25. if dist < 0.1 [
  26. cancel-target
  27. ]
  28. ] [
  29. tank-facexy mouse-xcor mouse-ycor
  30. ]
  31. end
  32. to cancel-order
  33. if player-has-target? [
  34. cancel-target
  35. ]
  36. end
  37. to cancel-target
  38. set is-accelerating? false
  39. set player-has-target? false
  40. end