summaryrefslogtreecommitdiffstats
path: root/src/Collision.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Collision.hs')
-rw-r--r--src/Collision.hs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/Collision.hs b/src/Collision.hs
index 84227d4..fad7cd6 100644
--- a/src/Collision.hs
+++ b/src/Collision.hs
@@ -1,7 +1,9 @@
module Collision ( collisionTankBorder
+ , collisionBulletBullet
) where
import Tank
+import Game
import Data.Fixed
import Data.Ratio
@@ -12,6 +14,9 @@ tankWidth = 0.95
tankLength :: Micro
tankLength = 0.95
+bulletDiameter :: Micro
+bulletDiameter = 0.2
+
collisionTankBorder :: Micro -> Micro -> Tank -> Tank
collisionTankBorder lw lh tank = tank {tankX = newx, tankY = newy}
where
@@ -39,3 +44,8 @@ collisionTankBorder lw lh tank = tank {tankX = newx, tankY = newy}
newx = (tankX tank) + dx
newy = (tankY tank) + dy
+
+collisionBulletBullet :: (Bullet, Bullet) -> (Bullet, Bullet) -> Bool
+collisionBulletBullet (b1, b1') (b2, b2') = distancesq < (bulletDiameter^2)
+ where
+ distancesq = (bulletX b1' - bulletX b2')^2 + (bulletY b1' - bulletY b2')^2 \ No newline at end of file