Logo Bolo: a re-envisioning of the classic tank game by Stuart Cheshire in NetLogo
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

46 rader
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