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