Commit graph

338 commits

Author SHA1 Message Date
Olivier Teulière
62d46c875f Round: add operator==() 2012-12-30 16:13:31 +01:00
Olivier Teulière
ac0abba535 Topping: new widget dedicated to topping mode.
It is currently very ugly, and quite buggy...
2012-12-29 19:36:38 +01:00
Olivier Teulière
57a2c0690f Topping: keep track of all the moves played by the player.
The timing information is currently not used at all.
2012-12-29 17:51:52 +01:00
Olivier Teulière
681a7b28cb New topping mode (very beginning) 2012-12-29 17:51:16 +01:00
Olivier Teulière
5441007db1 New BoardLayout class to wrap the board layout (size and special squares).
Until now there is no user-visible change, but it should make it much
easier to add custom layouts.
2012-12-29 17:50:18 +01:00
Olivier Teulière
c138947138 Move Duplicate::setGameAndPlayersRack() to Game 2012-12-29 17:49:25 +01:00
Olivier Teulière
fb8e464d7c Display the word being played on the board 2012-12-29 17:46:18 +01:00
Olivier Teulière
2c3cb83e0a Allow more types of invalid input when previewing a move being played 2012-12-29 17:46:18 +01:00
Olivier Teulière
8d85df630b PlayModel now uses a Move internally 2012-12-29 17:46:18 +01:00
Olivier Teulière
8acebbc889 Game::checkPlayedWord() now takes a Move instead of a Round 2012-12-29 17:46:18 +01:00
Olivier Teulière
dc3535c953 Coord: do not refuse lowercase coordinates.
It fixes a regression introduced in bedcc56.
2012-12-29 17:46:17 +01:00
Olivier Teulière
d55b3b2bdf Use toLower() and toUpper() 2012-12-29 17:46:17 +01:00
Olivier Teulière
05605a63ae Coord: remove useless code 2012-12-29 17:46:17 +01:00
Olivier Teulière
0097519e96 Turn: new findAllMatchingCmd() utility method 2012-12-29 17:44:39 +01:00
Olivier Teulière
bedcc561f3 Coord: do not accept invalid strings starting with valid coordinates 2012-12-18 16:03:44 +01:00
Olivier Teulière
19a93988ad Arbitration: new option to handle solos automatically.
The option is not yet accessible from the interface.
2012-12-05 23:56:20 +01:00
Olivier Teulière
4d38c99336 Move Arbitration::getPlayerEventCmd() into Duplicate 2012-12-05 22:05:31 +01:00
Olivier Teulière
8b3d6b9872 Use BOOST_FOREACH instead of an index-based loop 2012-12-05 21:23:25 +01:00
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
7832866652 Fixed compilation errors with newer g++ versions 2012-11-21 20:16:56 +01:00
Olivier Teulière
81f2507181 Arbitration: fix a bug when a word is checked manually.
The check didn't verify that it is actually possible to play the word
with the current rack.
2012-11-13 12:38:26 +01:00
Olivier Teulière
8858c54656 Minor cosmetics changes (more C++-like) 2012-10-24 15:23:59 +02:00
Olivier Teulière
08c3f2ccb2 Arbitration: when loading a saved game, make PlayerMoveCmd auto-executable.
This is not very clean, but without this the played moves of past turns
are not visible. This commit also fixes a test with was incorrect.
2012-10-24 11:11:24 +02: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
cf22315fd0 Saved games: improve an error message to give the context 2012-10-24 00:32:15 +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
c7831a28bd Do not specify template parameters when it is useless 2012-10-13 00:50:44 +02:00
Olivier Teulière
f6ced69c9e Make sure some class members are initialized (bugs reported by Coverity) 2012-10-11 23:21:32 +02:00
Olivier Teulière
0fa1c79563 Add myself to the authors, and fix some copyright headers 2012-10-11 13:45:24 +02:00
Olivier Teulière
4200e33c17 Change the copyright years for all the files modified in 2012 2012-10-11 13:45:24 +02:00
Olivier Teulière
c5591da9e5 Fix various strings 2012-10-06 22:17:43 +02:00
Olivier Teulière
e7aabdc4a2 Fix compilation warnings 2012-10-06 18:45:46 +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
471dcf90e1 Rename Turn into TurnData (step 2) 2012-10-06 17:49:35 +02:00
Olivier Teulière
fa345a9f7b Rename Turn into TurnData (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
47a827e9d4 Remove useless code 2012-10-06 17:49:35 +02:00
Olivier Teulière
65ed44d66d Cosmetics 2012-10-06 17:49:35 +02:00
Olivier Teulière
ef5f8e63e9 Do not cache the score of the player.
Caching is almost useless here, and makes the code more complex.
2012-10-06 17:49:35 +02:00
Olivier Teulière
40944884e6 Remove Player::getPoints() 2012-10-06 17:49:35 +02:00
Olivier Teulière
c700f39ac7 Stats: display end game points for a free game 2012-10-06 17:49:35 +02:00
Olivier Teulière
b53295c782 Stats: compute the ranking based on the final score, not the intermediate one 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
2ab95b5ed9 Get rid of old CVS files 2012-10-06 01:44:33 +02:00
Olivier Teulière
a800863c1f Arbitration: do not handle solos automatically.
The arbitrator has to specify them manually. Otherwise, we cannot know
when a turn is complete and thus we cannot determine if solos can/should
be applied.
2012-10-05 12:52:42 +02:00