packages feed

ansi-terminal-game 0.5.0.0 → 0.6.0.0

raw patch · 4 files changed

+47/−5 lines, 4 filesdep +randomPVP ok

version bump matches the API change (PVP)

Dependencies added: random

API changes (from Hackage documentation)

+ Terminal.Game: class Random a
+ Terminal.Game: data StdGen
+ Terminal.Game: getRandom :: Random a => (a, a) -> StdGen -> (a, StdGen)
+ Terminal.Game: getRandomList :: Random a => (a, a) -> StdGen -> [a]
+ Terminal.Game: getStdGen :: IO StdGen
+ Terminal.Game: mkStdGen :: Int -> StdGen

Files

ansi-terminal-game.cabal view
@@ -1,5 +1,5 @@ name:                ansi-terminal-game-version:             0.5.0.0+version:             0.6.0.0 synopsis:            sdl-like functions for terminal applications, based on                      ansi-terminal description:         Library which aims to replicate standard 2d game@@ -38,6 +38,7 @@                        Terminal.Game.Draw,                        Terminal.Game.Utils,                        Terminal.Game.Plane,+                       Terminal.Game.Random,                        Terminal.Game.Timer   build-depends:       base == 4.*,                        ansi-terminal >= 0.8 && < 0.11,@@ -50,6 +51,7 @@                        mintty == 0.1.*,                        mtl == 2.2.*,                        QuickCheck == 2.13.*,+                       random >= 1.1 && < 1.2,                        split == 0.2.*,                        terminal-size == 0.3.*,                        timers-tick == 0.4.*@@ -82,6 +84,7 @@                        Terminal.Game.Layer.Object.Test,                        Terminal.Game.Utils,                        Terminal.Game.Plane,+                       Terminal.Game.Random,                        Terminal.Game.PlaneSpec   build-depends:       base == 4.*,                        ansi-terminal >= 0.8 && < 0.11,@@ -93,6 +96,7 @@                        linebreak == 1.0.*,                        mtl == 2.2.*,                        QuickCheck == 2.13.*,+                       random >= 1.1 && < 1.2,                        split == 0.2.*,                        terminal-size == 0.3.*,                        timers-tick == 0.4.*
changes.txt view
@@ -1,3 +1,9 @@+0.6.0.0+-------++- Add random generation functions.+- Released Sun 10 Nov 2019 13:44:32 CET+ 0.5.0.0 ------- 
src/Terminal/Game.hs view
@@ -28,7 +28,7 @@                        Game(..),                        playGame, -                       -- * Game Logic+                       -- * Game logic                        -- | Some convenient function dealing with                        -- Timers ('Timed') and 'Animation's.                        --@@ -52,6 +52,12 @@                        fetchAniFrame, isAniExpired,                        getFrames, +                       -- ** Random numbers+                       StdGen,+                       getStdGen, mkStdGen,+                       getRandom, getRandomList,+                       Random,+                        -- * Drawing                        -- | To get to the gist of drawing, check the                        -- documentation of '%'.@@ -91,11 +97,12 @@     where  import System.Console.ANSI+import Terminal.Game.Animation+import Terminal.Game.Draw import Terminal.Game.Layer.Imperative import Terminal.Game.Layer.Object import Terminal.Game.Plane-import Terminal.Game.Draw-import Terminal.Game.Animation+import Terminal.Game.Random  -- $threaded -- Good practices for cross-compatibility:@@ -114,5 +121,6 @@ --   that go well with either (blue, red, etc.); -- -- * some terminals/multiplexers (i.e. tmux) do not make a distinction---   between vivid/dull, do not base your game mechanics on that+--   between vivid/dull; do not base your game mechanics on that --   difference.+
+ src/Terminal/Game/Random.hs view
@@ -0,0 +1,24 @@+module Terminal.Game.Random ( R.StdGen,+                              Random,+                              R.getStdGen,+                              R.mkStdGen,+                              getRandom,+                              getRandomList )+            where++import System.Random as R+++-- getRandom :: (Ord a, Show a) => (a, a) -> StdGen -> (a, StdGen)+-- getRandom bs@(l, h) sg+--         | l > h     = error $ "getRandom: lowBound > highBoud, " ++ show bs+--         | otherwise = randomR _ _++-- | Simple pseudo-random generator.+getRandom :: Random a => (a, a) -> StdGen -> (a, StdGen)+getRandom bs sg = randomR bs sg++-- | Returns an infinite list of random values.+getRandomList :: Random a => (a, a) -> StdGen -> [a]+getRandomList bs sg = randomRs bs sg+