diff options
Diffstat (limited to 'src/Collision.hs')
-rw-r--r-- | src/Collision.hs | 10 |
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 |