From c4ae3b0ee4bd338995cfecf34e0aeb49f05fa70e Mon Sep 17 00:00:00 2001 From: Joris Guyonvarch Date: Tue, 2 Sep 2014 21:35:58 +0200 Subject: Initial commit --- src/EnemyState.elm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/EnemyState.elm (limited to 'src/EnemyState.elm') diff --git a/src/EnemyState.elm b/src/EnemyState.elm new file mode 100644 index 0000000..81766bf --- /dev/null +++ b/src/EnemyState.elm @@ -0,0 +1,29 @@ +module EnemyState where + +import Enemy (..) +import Player (..) +import Geometry (distance) + +type EnemyState = + { enemies : [Enemy] + , spawn : Float + , lastSpawn : Float + } + +initEnemyState : EnemyState +initEnemyState = + let spawn = 200 + in { enemies = [] + , spawn = spawn + , lastSpawn = -spawn + } + +playerEnemyCollision : Float -> Player -> Enemy -> Bool +playerEnemyCollision time player enemy = + let enemyPos = enemyMove enemy time + in (distance enemyPos player.pos) < enemySize + playerSize + +playerEnemiesCollision : Float -> Player -> [Enemy] -> Bool +playerEnemiesCollision time player enemies = + let collision = playerEnemyCollision time player + in length (filter collision enemies) > 0 -- cgit v1.2.3