Commit graph

  • 7a324ee7ef Add gameID directly into Game data structure stateless-game Tissevert 2020-01-13 08:40:38 +0100
  • ce0f51720a Declare ID for Games Tissevert 2020-01-04 12:07:26 +0100
  • 31ad94e5af Require a type «a» to define a prefix to get an instance of Show (ID a) Tissevert 2019-11-20 18:22:27 +0100
  • 3440c84543 Expose internal Int in IDs and make the type an instance of Random (generating only positive IDs) Tissevert 2019-11-12 22:15:39 +0100
  • e0003c5906 Make Move instance of Show to ease generating debug message Tissevert 2019-11-12 22:10:45 +0100
  • 0b6fd62255 Fix bug in dealing cards to Players — it is supposed to reset the players' meld and yakus while setting their hand Tissevert 2019-10-23 15:25:34 +0200
  • e12f8e1f0d Take player turns out of the Player data structure Tissevert 2019-10-22 17:42:23 +0200
  • d2918c5256 Finally export the useful Player type instanciated for KoiKoi games since that the only ones we support so far Tissevert 2019-10-17 12:05:34 +0200
  • ff1a31a105 Remove parameter from Game type, games will be shared publicly with a different type Tissevert 2019-10-16 10:30:31 +0200
  • 61eeac8bc6 Add IDs handling directly in library + add a couple useful functions on Hanafuda cards main 0.3.3.0 Tissevert 2019-08-24 23:04:37 +0200
  • 9e31c6777d Fix number of players for KoiKoi game to 2 on the type level keysInLib Tissevert 2019-08-24 22:07:34 +0200
  • ffede0b4c9 Actually, why name IDs «Key» when that will be needed for encryption ? Tissevert 2019-08-24 14:36:54 +0200
  • 3615c29a47 Add and expose more useful functions on Hanafuda cards and use them in Yakus computations Tissevert 2019-08-22 17:45:33 +0200
  • 3b50479612 Add a notion of «distance to a Yaku» that will be useful to Hannah Tissevert 2019-08-22 17:37:01 +0200
  • 5a89cb4064 Export only values of Hanafuda.KoiKoi.Yaku used outside this module Tissevert 2019-08-22 17:35:48 +0200
  • f45d3a383e Derive an instance of Read for Yaku to allow making a proper FromJSONKey instance of it in APILanguage Tissevert 2019-08-20 14:19:31 +0200
  • e037748199 Expose function sameMonth useful for clients too, and make it more handy Tissevert 2019-08-20 14:15:49 +0200
  • 3056974e12 Generalizing the Game type to include the public version exported to clients Tissevert 2019-08-18 22:08:22 +0200
  • efddc9f07e Defining a generic Key newtype to provide IDs for Players and Games Tissevert 2019-08-15 23:34:59 +0200
  • f1ee562809 Handle the end of games Tissevert 2019-08-12 23:02:17 +0200
  • 14d58d002e Replace list by triple in deal function following error on failable pattern with GHC 8.6.3 Tissevert 2019-01-13 13:16:29 +0100
  • 18d544e13f Remove constructor for errors to handle them in a MonadError instead and add a MonadWriter for logs Tissevert 2019-01-08 22:37:09 +0100
  • 561ef5060d Generalize the output monad of basic functions by only expressing constraints on it Tissevert 2019-01-08 22:34:29 +0100
  • f2428f353f Remove WillowRed accidentally present in plains' set Sasha 2018-08-27 20:12:03 +0200
  • 4fca4791fa Bump version to 0.3.0.1 Sasha 2018-08-26 20:02:54 +0200
  • 46071152a4 Reset all of player's properties when dealing cards Sasha 2018-07-28 19:23:16 +0200
  • 4d1a2f7fee Bumping to 0.3.0.0 for making the Game type signature parametric in the players' type Sasha 2018-07-24 22:19:04 +0200
  • 8ad996914d Unify Points type + export it with Score and Step types in module KoiKoi Sasha 2018-05-12 11:17:37 +0200
  • 0c58e94c6f Add missing import needed to use the library Sasha 2018-03-28 22:39:01 +0200
  • 091e0e5c55 Fix warnings Sasha 2018-03-19 12:28:15 +0100
  • 8f8d5afc28 Compile with all warning to write cleaner code Sasha 2018-03-19 12:11:44 +0100
  • 645c2b2e32 Reflect recent administrative changes on the project structure Sasha 2018-03-16 19:13:01 +0100
  • b63c06a317 Restructure project to expose only what's needed to play KoiKoi and hide all the inner logic in that module Sasha 2018-03-15 22:32:24 +0100
  • d596a220b5 Refactor to put all KoiKoi specifics into a separate submodule Sasha 2018-03-10 23:25:44 +0100
  • 7d672589b2 Remove unused imports, minor code simplifications Sasha 2018-03-07 23:22:45 +0100
  • 5b78285303 Optimize game states and moves to reduce client-server to-and-fro Sasha 2018-03-07 17:50:01 +0100
  • 95b2132a10 Purify types into newtypes to ease writing instances Sasha 2018-03-07 17:32:28 +0100
  • dfccff2915 Package with cabal and implement game automaton Sasha 2018-03-05 16:29:10 +0100
  • 034fee8ecd Implement KoiKoi's yakus Sasha 2018-02-26 09:07:53 +0100
  • 786dfe4bb8 Expose the size of card packs Sasha 2018-02-25 23:17:51 +0100
  • c2a324b905 Remove unused and broken modules Sasha 2018-02-25 23:17:51 +0100
  • 6dbd72cf36 Card as enum and packs with bit sets Sasha 2018-02-05 18:14:11 +0100
  • e7619af640 First attempt at defining the game's states Sasha 2018-02-04 23:01:42 +0100
  • ea96530511 Initial state generation Sasha 2018-02-04 22:06:07 +0100
  • b03e97bb81 Implement card capture (さくら!) Sasha 2018-02-03 18:25:11 +0100
  • c95d611024 Build yaku dictionary a bit more efficiently Sasha 2018-02-03 18:23:22 +0100
  • 3f43d960f4 Take KoiKoi-specific objects out of Cards module Sasha 2018-02-03 18:08:17 +0100
  • 3ffabc578e Build a yaku dictionary indexed by Cards Sasha 2018-02-02 17:44:35 +0100
  • 871f1a383f Shuffle is more a CCard thing than something specific to KoiKoi or other Games Sasha 2018-02-02 17:25:10 +0100
  • 51436f4eb2 Shorten shuffle and improve its randomness (previous one declusters poorly) Sasha 2018-02-01 18:34:24 +0100
  • 77bc2faa4e Implement shuffle Sasha 2018-02-01 18:07:31 +0100
  • 561df60b57 Start implementing yakus Sasha 2018-02-01 12:24:07 +0100
  • 4659f308a2 Use enum instead of magic int constants Sasha 2018-02-01 12:23:44 +0100
  • 59beaa5cc9 Add cards packs Sasha 2018-01-30 18:17:52 +0100
  • 7de6040289 Try a stub of a C-style version of types Sasha 2018-01-30 17:34:28 +0100
  • f7b3f21a83 Start with a Card module and a stub of Game Sasha 2018-01-22 22:49:34 +0100