-- -- Right now this is a simple abstraction over Rational. -- In the future, when we implement time travel, it will be more interesting. -- -- 1 = 1 minute, or 1 round. Nothing should ever take longer than a round. -- A typical creature should be able to move about 20 squares in a round. -- Weapons should do ideal damage at a standard rate of 100 points of damage per round. -- Creatures should heal their entire hit points in exactly one round, after not taking any damage for one round. -- module TimeCoordinate (TimeCoordinate, advanceTime, zero_time) where data TimeCoordinate = TimeCoordinate Rational deriving (Eq,Ord,Read,Show) advanceTime :: Rational -> TimeCoordinate -> TimeCoordinate advanceTime x (TimeCoordinate t) = TimeCoordinate (t + x) zero_time :: TimeCoordinate zero_time = TimeCoordinate 0