summaryrefslogtreecommitdiffstats
path: root/DefaultPlayer.hs
diff options
context:
space:
mode:
Diffstat (limited to 'DefaultPlayer.hs')
-rw-r--r--DefaultPlayer.hs16
1 files changed, 8 insertions, 8 deletions
diff --git a/DefaultPlayer.hs b/DefaultPlayer.hs
index 351928f..d1c1e24 100644
--- a/DefaultPlayer.hs
+++ b/DefaultPlayer.hs
@@ -14,20 +14,20 @@ import Player
import Tank
-data DefaultPlayer = DefaultPlayer (S.Set Key)
+data DefaultPlayer = DefaultPlayer (S.Set Key) Micro Micro
deriving (Typeable, Show)
instance Player DefaultPlayer where
- playerMovement (DefaultPlayer keys) _ = playerMovement' keys
+ playerUpdate (DefaultPlayer keys aimx aimy) tank = playerUpdate' keys aimx aimy tank
- handleEvent (DefaultPlayer keys) ev
- | Just (KeyPressEvent key) <- fromEvent ev = DefaultPlayer $ S.insert key keys
- | Just (KeyReleaseEvent key) <- fromEvent ev = DefaultPlayer $ S.delete key keys
- | otherwise = DefaultPlayer keys
+ handleEvent (DefaultPlayer keys aimx aimy) ev
+ | Just (KeyPressEvent key) <- fromEvent ev = DefaultPlayer (S.insert key keys) aimx aimy
+ | Just (KeyReleaseEvent key) <- fromEvent ev = DefaultPlayer (S.delete key keys) aimx aimy
+ | otherwise = DefaultPlayer keys aimx aimy
-playerMovement' :: S.Set Key -> (DefaultPlayer, Maybe Micro, Bool)
-playerMovement' keys = (DefaultPlayer keys, angle, move)
+playerUpdate' :: S.Set Key -> Micro -> Micro -> Tank -> (DefaultPlayer, Maybe Micro, Bool, Maybe Micro)
+playerUpdate' keys aimx aimy tank = (DefaultPlayer keys aimx aimy, angle, move, Nothing)
where
x = (if (S.member KeyLeft keys) then (-1) else 0) + (if (S.member KeyRight keys) then 1 else 0)
y = (if (S.member KeyDown keys) then (-1) else 0) + (if (S.member KeyUp keys) then 1 else 0)