| @@ -48,11 +48,7 @@ to setup | |||||
| end | end | ||||
| to go | to go | ||||
| if player != nobody [ | |||||
| ask player [ | |||||
| do-player-logic | |||||
| ] | |||||
| ] | |||||
| do-player-logic | |||||
| ask tanks [ | ask tanks [ | ||||
| do-tank-logic | do-tank-logic | ||||
| ] | ] | ||||
| @@ -75,18 +71,6 @@ to go | |||||
| keep-time | keep-time | ||||
| end | end | ||||
| to player-fire | |||||
| ask player [ | |||||
| fire | |||||
| ] | |||||
| end | |||||
| to player-cancel-order | |||||
| ask player [ | |||||
| cancel-order | |||||
| ] | |||||
| end | |||||
| ;; ================ | ;; ================ | ||||
| ;; Other procedures | ;; Other procedures | ||||
| ;; ================ | ;; ================ | ||||
| @@ -105,6 +89,7 @@ to setup-defaults | |||||
| set max-fps 30 | set max-fps 30 | ||||
| set mouse-was-down? false | set mouse-was-down? false | ||||
| set sound-stopped? true | set sound-stopped? true | ||||
| set player-death-time timer | |||||
| set player-deaths 0 | set player-deaths 0 | ||||
| set player-has-target? false | set player-has-target? false | ||||
| set player-kills 0 | set player-kills 0 | ||||
| @@ -3,6 +3,7 @@ | |||||
| globals [ | globals [ | ||||
| player | player | ||||
| player-death-time | |||||
| player-deaths | player-deaths | ||||
| player-has-target? | player-has-target? | ||||
| player-kills | player-kills | ||||
| @@ -22,6 +23,18 @@ to spawn-player [tank-xcor tank-ycor tank-heading] | |||||
| end | end | ||||
| to do-player-logic | to do-player-logic | ||||
| ifelse player = nobody [ | |||||
| if timer - player-death-time > 1.5 [ | |||||
| spawn-player 0 0 0 | |||||
| ] | |||||
| ] [ | |||||
| ask player [ | |||||
| do-player-movement | |||||
| ] | |||||
| ] | |||||
| end | |||||
| to do-player-movement | |||||
| if mouse-inside? [ | if mouse-inside? [ | ||||
| if mouse-down? and not mouse-was-down? [ | if mouse-down? and not mouse-was-down? [ | ||||
| let txcor round mouse-xcor | let txcor round mouse-xcor | ||||
| @@ -54,15 +67,29 @@ to do-player-logic | |||||
| ] | ] | ||||
| end | end | ||||
| to player-fire | |||||
| if player != nobody [ | |||||
| ask player [ | |||||
| fire | |||||
| ] | |||||
| ] | |||||
| end | |||||
| to player-place-pill | to player-place-pill | ||||
| ask player [ | |||||
| place-pill | |||||
| if player != nobody [ | |||||
| ask player [ | |||||
| place-pill | |||||
| ] | |||||
| ] | ] | ||||
| end | end | ||||
| to cancel-order | |||||
| if player-has-target? [ | |||||
| cancel-target | |||||
| to player-cancel-order | |||||
| if player != nobody [ | |||||
| ask player [ | |||||
| if player-has-target? [ | |||||
| cancel-target | |||||
| ] | |||||
| ] | |||||
| ] | ] | ||||
| end | end | ||||
| @@ -123,6 +123,7 @@ end | |||||
| to kill-tank | to kill-tank | ||||
| if is-player? [ | if is-player? [ | ||||
| set player-death-time timer | |||||
| set player-deaths player-deaths + 1 | set player-deaths player-deaths + 1 | ||||
| ] | ] | ||||
| if [is-shooter-player?] of myself [ | if [is-shooter-player?] of myself [ | ||||