aboutsummaryrefslogtreecommitdiff
path: root/Demos/Pong/Pong.hs
diff options
context:
space:
mode:
author3gg <3gg@shellblade.net>2024-08-15 22:49:21 -0700
committer3gg <3gg@shellblade.net>2024-08-15 22:49:21 -0700
commit678a4631a36b55face6541c473d5dfb854225547 (patch)
treec673a3597edd8a42a3b0cb15e9d6f8ea1a2235f7 /Demos/Pong/Pong.hs
parentae90f69c9fe6f21f698305232b453fcfbd3fdb02 (diff)
Better event handling.
Diffstat (limited to 'Demos/Pong/Pong.hs')
-rw-r--r--Demos/Pong/Pong.hs13
1 files changed, 5 insertions, 8 deletions
diff --git a/Demos/Pong/Pong.hs b/Demos/Pong/Pong.hs
index 943682f..2bd9df1 100644
--- a/Demos/Pong/Pong.hs
+++ b/Demos/Pong/Pong.hs
@@ -40,9 +40,7 @@ initialBallPos = vec2 0.5 0.5
40data GameEvent 40data GameEvent
41 = MoveLeft 41 = MoveLeft
42 | MoveRight 42 | MoveRight
43 | StopLeft 43 deriving (Eq, Ord, Show)
44 | StopRight
45 deriving (Eq, Ord)
46 44
47-- Game objects 45-- Game objects
48 46
@@ -163,11 +161,10 @@ movePad = step $ \elapsed _ _ _ pad ->
163 161
164stepPlayer = sfold moveGO .> clamp 162stepPlayer = sfold moveGO .> clamp
165 163
166moveGO = 164moveGO = mconcat
167 mconcat 165 [ swhen MoveLeft $ moveGO' (vec2 (-playerSpeed) 0)
168 [ switch StopLeft sid MoveLeft (moveGO' $ vec2 (-playerSpeed) 0), 166 , swhen MoveRight $ moveGO' (vec2 playerSpeed 0)
169 switch StopRight sid MoveRight (moveGO' $ vec2 playerSpeed 0) 167 ]
170 ]
171 168
172moveGO' :: Vector2 -> Step s e GameObject GameObject 169moveGO' :: Vector2 -> Step s e GameObject GameObject
173moveGO' dir = step $ \_ dt _ _ go -> (translate (dir * dt) go, moveGO' dir) 170moveGO' dir = step $ \_ dt _ _ go -> (translate (dir * dt) go, moveGO' dir)