ansi-terminal-game 0.7.2.0 → 1.0.0.0
raw patch · 8 files changed
+52/−29 lines, 8 filesPVP ok
version bump matches the API change (PVP)
API changes (from Hackage documentation)
Files
- README +36/−0
- ansi-terminal-game.cabal +5/−3
- changes.txt +7/−0
- example/Alone.hs +1/−0
- example/Main.hs +1/−0
- example/Playback.hs +1/−0
- src/Terminal/Game/Animation.hs +0/−25
- src/Terminal/Game/Layer/Imperative.hs +1/−1
+ README view
@@ -0,0 +1,36 @@+==================+ansi-terminal-game+==================++`ansi-terminal-game` is a library for creating games in a terminal setting.++Goals+-----++- be cross platform (linux/win/mac). If you plan to have your executable+ unix only, I invite you to check brick [1] or other, more expressive+ libraries.+- be simple: no curses/ncurses/pdcurses/etc. dependencies, all+ functionality built on a standard input / ANSI terminal base.++[1] http://hackage.haskell.org/package/brick++Learn+-----++- run the basic example with `cabal new-run -f examples alone`;+- check the source in `examples/Alone.hs`;+- open the 'Terminal.Game' haddock documentation (start reading from+ `Data.Game`).++A full game can be found at:++ http://www.ariis.it/static/articles/venzone/page.html++Contact+-------++For any feedback or report, contact me at:++ http://ariis.it/static/articles/mail/page.html+
ansi-terminal-game.cabal view
@@ -1,5 +1,5 @@ name: ansi-terminal-game-version: 0.7.2.0+version: 1.0.0.0 synopsis: sdl-like functions for terminal applications, based on ansi-terminal description: Library which aims to replicate standard 2d game@@ -7,7 +7,8 @@ setting. Aims to be cross compatible (based on "ansi-terminal", no unix-only dependencies), practical.- See example folder for some minimal programs.+ See @examples@ folder for some minimal programs. A+ full game: <http://www.ariis.it/static/articles/venzone/page.html venzone>. homepage: none-yet license: GPL-3 license-file: LICENSE@@ -16,7 +17,8 @@ copyright: © 2017-2019 Francesco Ariis category: Game build-type: Simple-extra-source-files: changes.txt,+extra-source-files: README,+ changes.txt, test/alone-recors-test.gr cabal-version: >=1.10
changes.txt view
@@ -1,3 +1,10 @@+1.0.0.0+-------++- Milestone release.+- Beefed up documentation.+- Released Sun 08 Dec 2019 04:19:33 CET+ 0.7.2.0 -------
example/Alone.hs view
@@ -1,6 +1,7 @@ module Alone where -- Alone in a room, game definition (logic & draw)+-- run with: cabal new-run -f examples alone import Terminal.Game
example/Main.hs view
@@ -6,6 +6,7 @@ import Terminal.Game -- plays the game normally+-- run with: cabal new-run -f examples alone main :: IO () main = playGame aloneInARoom
example/Playback.hs view
@@ -8,6 +8,7 @@ import System.IO.Temp ( emptySystemTempFile ) -- plays the game and, once you quit, shows a replay of the session+-- run with: cabal new-run -f examples alone-playback main :: IO () main = do
src/Terminal/Game/Animation.hs view
@@ -36,28 +36,3 @@ creaStaticAnimation :: Plane -> Animation creaStaticAnimation p = creaTimedRes (Times 1 Elapse) [(1, p)] ----------------------- SERIALISATION -------------------------- deriving instance Generic loc => Generic (Frame loc)--- instance (Generic loc, Serialize loc) => Serialize (Frame loc Integer)---- -- xxx vanno messe in timers--- instance Serialize ExpBehaviour--- instance Serialize Loop---- instance Serialize Cell--- instance Serialize Plane--- instance Serialize Animation---- encodeAni :: FilePath -> Animation -> IO ()--- encodeAni fp fs = BS.writeFile fp (encode fs)---- decodeAni :: FilePath -> IO (Either String Animation)--- decodeAni fp = fmap decode (BS.readFile fp) >>=--- return . BF.bimap err id--- where--- err se = fp ++ ": " ++ se--
src/Terminal/Game/Layer/Imperative.hs view
@@ -68,7 +68,7 @@ -- xxx replaygame is very difficult to test -- -- | Play as in 'playGame' and write the session to @file@. Useful to--- -- produce input for 'testGame' and 'replayGame'.+-- -- produce input for 'testGame' and 'narrateGame'. -- recordGame :: Game s -> FilePath -> IO s -- recordGame g fp = -- CC.newMVar [] >>= \ve ->