summaryrefslogtreecommitdiffstats
path: root/DefaultPlayer.hs
diff options
context:
space:
mode:
authorMatthias Schiffer <matthias@gamezock.de>2010-03-09 03:49:15 +0100
committerMatthias Schiffer <matthias@gamezock.de>2010-03-09 03:49:15 +0100
commit7327695ca3d9aee5da1d0bc98572d877dd8c8546 (patch)
treee733714968ae0a041f76b213ffe31cca70ada6fb /DefaultPlayer.hs
parent2bb85618366681c7c97f8b36cc85a18c45beb924 (diff)
downloadhtanks-7327695ca3d9aee5da1d0bc98572d877dd8c8546.tar
htanks-7327695ca3d9aee5da1d0bc98572d877dd8c8546.zip
Moved source files to src directory
Diffstat (limited to 'DefaultPlayer.hs')
-rw-r--r--DefaultPlayer.hs36
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