aboutsummaryrefslogtreecommitdiff
path: root/src/Input.elm
diff options
context:
space:
mode:
authorJoris Guyonvarch2015-03-04 23:27:59 +0100
committerJoris Guyonvarch2015-03-05 00:27:32 +0100
commit4d007f6802246c6411a2838e68e957c2b4d56d3d (patch)
tree70519a5a2d6825bf2b64f6a8950a003b2ff4f150 /src/Input.elm
parentd37a301ed39bac823e0f2223b8d229b417e128c7 (diff)
downloadcatchvoid-4d007f6802246c6411a2838e68e957c2b4d56d3d.tar.gz
catchvoid-4d007f6802246c6411a2838e68e957c2b4d56d3d.tar.bz2
catchvoid-4d007f6802246c6411a2838e68e957c2b4d56d3d.zip
Adapt the game to elm version 0.14.1
Diffstat (limited to 'src/Input.elm')
-rw-r--r--src/Input.elm44
1 files changed, 12 insertions, 32 deletions
diff --git a/src/Input.elm b/src/Input.elm
index 8ba43ec..3723ba3 100644
--- a/src/Input.elm
+++ b/src/Input.elm
@@ -1,51 +1,31 @@
module Input where
import Char (toCode)
-import RandomValues (RandomValues)
-import Keyboard (KeyCode, keysDown, arrows)
+import Keyboard (KeyCode, keysDown, arrows, isDown)
import Random
+import Time (Time, fps)
+import Signal (..)
import Vec2 (Vec2)
-type Input =
+type alias Input =
{ dir : Vec2
- , inputKeysDown : [KeyCode]
+ , inputKeysDown : List KeyCode
, delta : Time
- , randomValues : RandomValues
}
getInput : Signal Input
getInput =
- let dtSignal = delta
- dirSignal = lift recordIntToVec2 arrows
- randomFloatsSignal = Random.floatList (lift (\_ -> 6) dtSignal)
- randomValuesSignal = lift floatsToRandomValues randomFloatsSignal
- in sampleOn dtSignal <| Input <~ dirSignal
- ~ keysDown
- ~ dtSignal
- ~ randomValuesSignal
-
-delta : Signal Time
-delta = lift (\ms -> ms) (fps 25)
+ let delta = fps 25
+ input =
+ Input
+ <~ map recordIntToVec2 arrows
+ ~ keysDown
+ ~ delta
+ in sampleOn delta input
recordIntToVec2 : {x : Int, y : Int} -> Vec2
recordIntToVec2 {x, y} =
{ x = toFloat x
, y = toFloat y
}
-
-floatsToRandomValues : [Float] -> RandomValues
-floatsToRandomValues [angle1, x1, y1, angle2, x2, y2] =
- let point1 =
- { angle = angle1
- , x = x1
- , y = y1
- }
- point2 =
- { angle = angle2
- , x = x2
- , y = y2
- }
- in { point1 = point1
- , point2 = point2
- }