Olivier Teulière
e34cc25fe1
Move commands to the game/cmd/ sub-directory.
...
The abstract Command class (from which all the others inherit)
is still game/, to hide the cmd/ subdir from most clients.
2012-12-05 20:26:47 +01:00
Olivier Teulière
34ed25e9e9
Saved games: save some statistics (not used when loading the game)
2012-10-24 00:32:48 +02:00
Olivier Teulière
c748d02950
Saved games: use the real player ID, not a modified one
2012-10-24 00:32:24 +02:00
Olivier Teulière
ef14d5e9d6
Saved games: use camelCase for attribute names
2012-10-24 00:31:51 +02:00
Olivier Teulière
b76f48f545
Save games: save and restore the table numbers
2012-10-22 17:35:29 +02:00
Olivier Teulière
c5591da9e5
Fix various strings
2012-10-06 22:17:43 +02:00
Olivier Teulière
b84d112220
I18n of the load/save game exceptions
2012-10-06 18:18:21 +02:00
Olivier Teulière
e51d2f9a23
Rename TurnCmd into Turn (step 3)
2012-10-06 17:49:36 +02:00
Olivier Teulière
ec571d64e4
Rename TurnCmd into Turn (step 2)
2012-10-06 17:49:36 +02:00
Olivier Teulière
cfa90e6394
Rename TurnCmd into Turn (step 1)
2012-10-06 17:49:35 +02:00
Olivier Teulière
4acc731b17
Save game: write unknown commands as comments, to help debugging
2012-10-06 17:49:35 +02:00
Olivier Teulière
553d7f9cf0
Freegame: use PlayerEventCmd instead of PlayerPointsCmd
2012-10-06 17:49:34 +02:00
Olivier Teulière
3c29804148
Savegames: save/load properly the warnings, penalties and solos
2012-05-20 21:31:45 +02:00
Olivier Teulière
0095302b88
Use dedicated getters for the Move type: this is simpler to use and more readable
2012-05-05 19:45:44 +02:00
Olivier Teulière
196e02f9ad
Duplicate: get rid of the MarkPlayedCmd class
2012-04-11 20:02:18 +02:00
Olivier Teulière
c423da2425
Saved games: increase the XML format version, to indicate incompatibilities
2012-04-08 20:57:46 +02:00
Olivier Teulière
76d761ad8d
Saved games: do not write a playerid attribute for the MasterMove tag
2012-04-08 20:57:46 +02:00
Olivier Teulière
a5f13e3ba7
Saved games: write the dictionary letters as display strings
2012-04-08 20:57:46 +02:00
Olivier Teulière
c37107ed87
Write more information in a saved game: dictionary info and move points
2012-03-22 08:46:21 +01:00
Olivier Teulière
05a51101db
New arbitration mode, dedicate to arbitration of duplicate games.
...
It is mostly working, but many things are still missing.
In particular:
- ability to enter (or change) moves for a past turn
- ability to change the rack (manually, or randomly)
- ability to add/remove players during the game
- support for solos, warnings, penalties
- support for table number
- more ergonomic interface
- non regression tests
- ... and probably bugs to fix
2012-03-10 18:06:41 +01:00
Olivier Teulière
4077a25fa0
Use the GameMoveCmd command
2012-02-25 23:25:40 +01:00
Olivier Teulière
de2d2777e2
The TurnCmd class does not inherit from Command anymore
2012-02-21 08:22:33 +01:00
Olivier Teulière
1bc9c2f0f1
Implement (de)serialization of the MasterMoveCmd class
2012-01-17 23:15:05 +01:00
Olivier Teulière
c81df46b5e
Added a new type of move: NO_MOVE
2012-01-17 00:56:02 +01:00
Olivier Teulière
9aea22d968
Use an enum for the variants
2011-08-28 19:25:26 +02:00
Olivier Teulière
408c92df42
Moved the game mode to the GameParams class
2011-08-28 19:25:26 +02:00
Olivier Teulière
3d48facb55
Cosmetics
2011-08-28 19:25:26 +02:00
Olivier Teulière
d6fbd6bef1
Allow combining several variants in a single game
2011-08-28 18:47:25 +02:00
Olivier Teulière
38f3a456bb
Handle the "7 among 8" variant in a few more places
2011-08-28 15:52:12 +02:00
Olivier Teulière
fdc29871e5
New GameParams class to wrap a few game characteristics.
...
These characteristics will not change during the game.
2011-08-27 21:55:49 +02:00
Olivier Teulière
cfa88072a3
Replace the use of convertToMb() and convertToWc() with macros
2011-07-30 19:48:05 +00:00
Olivier Teulière
0c76b9d781
Simplified the looging macros, and added logs in various key places.
2011-01-29 23:47:20 +00:00
Olivier Teulière
b7fff8b4a1
- Removed various C-style casts
...
- Factorized code in the Bag class
2010-03-06 16:54:20 +00:00
Olivier Teulière
3c7a84d543
Support saving/loading games (any game type) in XML format.
...
Status:
It works well, but there are still a few details to improve/fix
More details about the changes:
- New dependency on Arabica and Libxml2 to parse the XML
- Loading the old format is still supported for this release, but won't be supported anymore in the next one
- Games are now only saved in the new format
- In training mode, the player is now created externally, like in the other modes
- Avoid using GameIO (the one from game/) whenever possible
- Do not use a FILE* argument anymore when loading a game
- Throw and catch exceptions correctly when a game cannot be loaded or saved
- The non-regression tests now use a new method to print the game history
2009-11-29 16:01:31 +00:00