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
Olivier Teulière
66cfd66681
Improve logging of the turns history
2012-10-05 12:38:55 +02:00
Olivier Teulière
38d7093341
Add an assertion
2012-10-05 10:28:54 +02:00
Olivier Teulière
bcc2aedbff
Improve the detection of finished games for duplicate and arbitration modes
2012-10-05 01:42:46 +02:00
Olivier Teulière
f1123e1229
Fix a very rare bug in rack generation
2012-10-05 01:25:01 +02:00
Olivier Teulière
937138c21d
Split the helperSetRackRandom() method.
...
There is now one method to check whether the rack can be drawn, and
another one (still called helperSetRackRandom()) to do all the work.
2012-10-05 01:24:56 +02:00