Commit graph

38 commits

Author SHA1 Message Date
61eeac8bc6 Add IDs handling directly in library + add a couple useful functions on Hanafuda cards 2019-08-24 23:04:37 +02:00
f1ee562809 Handle the end of games 2019-08-12 23:07:09 +02:00
14d58d002e Replace list by triple in deal function following error on failable pattern with GHC 8.6.3 2019-01-13 13:17:49 +01:00
Tissevert
18d544e13f Remove constructor for errors to handle them in a MonadError instead and add a MonadWriter for logs 2019-01-08 22:37:09 +01:00
Tissevert
561ef5060d Generalize the output monad of basic functions by only expressing constraints on it 2019-01-08 22:34:29 +01:00
Sasha
f2428f353f Remove WillowRed accidentally present in plains' set 2018-08-27 20:12:03 +02:00
Sasha
4fca4791fa Bump version to 0.3.0.1 2018-08-26 20:05:26 +02:00
Sasha
46071152a4 Reset all of player's properties when dealing cards 2018-07-28 19:23:16 +02:00
Sasha
4d1a2f7fee Bumping to 0.3.0.0 for making the Game type signature parametric in the players' type 2018-07-24 22:34:29 +02:00
Sasha
8ad996914d Unify Points type + export it with Score and Step types in module KoiKoi 2018-05-12 11:17:37 +02:00
Sasha
0c58e94c6f Add missing import needed to use the library 2018-03-28 22:39:01 +02:00
Sasha
091e0e5c55 Fix warnings 2018-03-19 12:28:15 +01:00
Sasha
8f8d5afc28 Compile with all warning to write cleaner code 2018-03-19 12:11:44 +01:00
Sasha
645c2b2e32 Reflect recent administrative changes on the project structure 2018-03-16 19:13:01 +01:00
Sasha
b63c06a317 Restructure project to expose only what's needed to play KoiKoi and hide
all the inner logic in that module
2018-03-16 12:18:33 +01:00
Sasha
d596a220b5 Refactor to put all KoiKoi specifics into a separate submodule 2018-03-10 23:25:44 +01:00
Sasha
7d672589b2 Remove unused imports, minor code simplifications 2018-03-09 18:12:27 +01:00
Sasha
5b78285303 Optimize game states and moves to reduce client-server to-and-fro 2018-03-09 18:12:27 +01:00
Sasha
95b2132a10 Purify types into newtypes to ease writing instances 2018-03-09 18:12:27 +01:00
Sasha
dfccff2915 Package with cabal and implement game automaton 2018-03-09 18:12:22 +01:00
Sasha
034fee8ecd Implement KoiKoi's yakus 2018-02-26 09:07:53 +01:00
Sasha
786dfe4bb8 Expose the size of card packs 2018-02-26 09:03:43 +01:00
Sasha
c2a324b905 Remove unused and broken modules 2018-02-25 23:17:51 +01:00
Sasha
6dbd72cf36 Card as enum and packs with bit sets 2018-02-25 23:15:43 +01:00
Sasha
e7619af640 First attempt at defining the game's states 2018-02-04 23:01:42 +01:00
Sasha
ea96530511 Initial state generation 2018-02-04 22:59:22 +01:00
Sasha
b03e97bb81 Implement card capture (さくら!) 2018-02-03 18:25:11 +01:00
Sasha
c95d611024 Build yaku dictionary a bit more efficiently 2018-02-03 18:23:31 +01:00
Sasha
3f43d960f4 Take KoiKoi-specific objects out of Cards module 2018-02-03 18:08:17 +01:00
Sasha
3ffabc578e Build a yaku dictionary indexed by Cards 2018-02-02 17:44:35 +01:00
Sasha
871f1a383f Shuffle is more a CCard thing than something specific to KoiKoi or other Games 2018-02-02 17:25:10 +01:00
Sasha
51436f4eb2 Shorten shuffle and improve its randomness (previous one declusters poorly) 2018-02-01 18:34:24 +01:00
Sasha
77bc2faa4e Implement shuffle 2018-02-01 18:07:31 +01:00
Sasha
561df60b57 Start implementing yakus 2018-02-01 14:04:21 +01:00
Sasha
4659f308a2 Use enum instead of magic int constants 2018-02-01 12:23:44 +01:00
Sasha
59beaa5cc9 Add cards packs 2018-01-30 18:18:12 +01:00
Sasha
7de6040289 Try a stub of a C-style version of types 2018-01-30 17:34:47 +01:00
Sasha
f7b3f21a83 Start with a Card module and a stub of Game 2018-01-22 22:50:40 +01:00