diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2010-03-09 03:49:15 +0100 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2010-03-09 03:49:15 +0100 |
commit | 7327695ca3d9aee5da1d0bc98572d877dd8c8546 (patch) | |
tree | e733714968ae0a041f76b213ffe31cca70ada6fb /DefaultPlayer.hs | |
parent | 2bb85618366681c7c97f8b36cc85a18c45beb924 (diff) | |
download | htanks-7327695ca3d9aee5da1d0bc98572d877dd8c8546.tar htanks-7327695ca3d9aee5da1d0bc98572d877dd8c8546.zip |
Moved source files to src directory
Diffstat (limited to 'DefaultPlayer.hs')
-rw-r--r-- | DefaultPlayer.hs | 36 |
1 files changed, 0 insertions, 36 deletions
diff --git a/DefaultPlayer.hs b/DefaultPlayer.hs deleted file mode 100644 index af9aaf5..0000000 --- a/DefaultPlayer.hs +++ /dev/null @@ -1,36 +0,0 @@ -{-# LANGUAGE DeriveDataTypeable, PatternGuards #-} - -module DefaultPlayer ( DefaultPlayer(..) - ) where - - -import qualified Data.Set as S -import Data.Fixed -import Data.Ratio ((%)) -import Data.Typeable - -import Game (Tank(..)) -import GLDriver -import Player - - -data DefaultPlayer = DefaultPlayer (S.Set Key) Float Float Bool - deriving (Typeable, Show) - -instance Player DefaultPlayer where - playerUpdate (DefaultPlayer keys aimx aimy shoot) tank = - let 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) - ax = aimx - (fromRational . toRational . tankX $ tank) - ay = aimy - (fromRational . toRational . tankY $ tank) - move = (x /= 0 || y /= 0) - angle = if move then Just $ fromRational $ round ((atan2 y x)*1000000*180/pi)%1000000 else Nothing - aangle = if (ax /= 0 || ay /= 0) then Just $ fromRational $ round ((atan2 ay ax)*1000000*180/pi)%1000000 else Nothing - in (DefaultPlayer keys aimx aimy False, angle, move, aangle, shoot) - - handleEvent (DefaultPlayer keys aimx aimy shoot) ev - | Just (KeyPressEvent key) <- fromEvent ev = DefaultPlayer (S.insert key keys) aimx aimy shoot - | Just (KeyReleaseEvent key) <- fromEvent ev = DefaultPlayer (S.delete key keys) aimx aimy shoot - | Just (MouseMotionEvent x y) <- fromEvent ev = DefaultPlayer keys x y shoot - | Just (MousePressEvent x y) <- fromEvent ev = DefaultPlayer keys x y True - | otherwise = DefaultPlayer keys aimx aimy shoot |