diff options
author | Matthias Schiffer <matthias@gamezock.de> | 2010-04-07 13:28:38 +0200 |
---|---|---|
committer | Matthias Schiffer <matthias@gamezock.de> | 2010-04-07 13:28:38 +0200 |
commit | c0d2d54ea1687a80ff76fa032ad4dc89670d2988 (patch) | |
tree | fce2ebd5d0fea025004e666a083fa38207c23663 /src/Player.hs | |
parent | 736ad91b328c23287b6065f6dc8f75c424d84b8b (diff) | |
download | htanks-c0d2d54ea1687a80ff76fa032ad4dc89670d2988.tar htanks-c0d2d54ea1687a80ff76fa032ad4dc89670d2988.zip |
Added Wiimote support
Diffstat (limited to 'src/Player.hs')
-rw-r--r-- | src/Player.hs | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/Player.hs b/src/Player.hs index 59076dd..af7f543 100644 --- a/src/Player.hs +++ b/src/Player.hs @@ -12,7 +12,7 @@ import GLDriver (SomeEvent) class Player a where - playerUpdate :: a -> Tank -> (a, Maybe Micro, Bool, Maybe Micro, Bool) + playerUpdate :: a -> Tank -> IO (a, Maybe Micro, Bool, Maybe Micro, Bool) handleEvent :: a -> SomeEvent -> a handleEvent player _ = player @@ -21,7 +21,7 @@ class Player a where data SomePlayer = forall a. Player a => SomePlayer a instance Player SomePlayer where - playerUpdate (SomePlayer player) tank = - let (p, angle, move, aangle, shoot) = playerUpdate player tank - in (SomePlayer p, angle, move, aangle, shoot) + playerUpdate (SomePlayer player) tank = do + (p, angle, move, aangle, shoot) <- playerUpdate player tank + return (SomePlayer p, angle, move, aangle, shoot) handleEvent (SomePlayer player) event = SomePlayer $ handleEvent player event |