Commit graph

660 commits

Author SHA1 Message Date
Olivier Teulière
b1e7381b39 Players can now have a table number 2012-03-19 22:49:58 +01:00
Olivier Teulière
7539cddf92 Factorize some code using a utility class 2012-03-18 02:45:15 +01:00
Olivier Teulière
e77923674f Arbitration: a click on the master move previews it on the board 2012-03-18 01:00:25 +01:00
Olivier Teulière
35acc7b7a3 New misc_helpers files to group some utility classes
Currently, it contains only the KeyEventFilter class, and a new
ClickableLabel class (not used yet).
2012-03-18 00:37:57 +01:00
Olivier Teulière
96c0497f7b Arbitraion: the rack can be modified only at the last turn 2012-03-17 23:53:40 +01:00
Olivier Teulière
f3b2442cc0 Arbitration: improved the refresh of search results 2012-03-17 23:53:40 +01:00
Olivier Teulière
3a8ac20a0a Arbitration: allow ending the turn even if some players have no assigned move 2012-03-17 23:53:31 +01:00
Olivier Teulière
bfab57f6ac Changed the way to re-assign a player move.
Re-assigning a move is not limited anymore to the last turn (only to the
current turn, and even that limitation could be removed without too much
work).
2012-03-14 20:40:23 +01:00
Olivier Teulière
435d3a2f42 New methods to replace a command in the current turn (even if it is not the last one) 2012-03-14 20:40:23 +01:00
Olivier Teulière
c9f61d7ac8 Search on the game rack, not on the player one 2012-03-11 16:59:16 +01:00
Olivier Teulière
0fa7bc91c6 Arbitration mode: allow editing the rack manually 2012-03-11 00:24:29 +01:00
Olivier Teulière
25a36ec9cd Arbitration mode: allow setting the rack randomly 2012-03-11 00:24:21 +01:00
Olivier Teulière
9c82c8f7bc Reset the master move before setting the racks, for a better behaviour at the end of the game 2012-03-11 00:23:39 +01:00
Olivier Teulière
ff21e64a7f Recreate the preferences dialog every time, to avoid displaying unsaved changes 2012-03-10 18:06:41 +01:00
Olivier Teulière
cf6cec0527 Improved the findMatchingCmd() method 2012-03-10 18:06:41 +01:00
Olivier Teulière
9160e6bc99 New preference to save the search results limit in arbitration mode 2012-03-10 18:06:41 +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
f44048f31a New utility method to find a matching command 2012-03-06 08:56:03 +01:00
Olivier Teulière
51622a0012 Make sure the tooltip for the "show definition" menu entry is displayed 2012-03-04 23:02:32 +01:00
Olivier Teulière
ce5f2b2a8c Move the rack and the timer above the external board (useful when displayed with a projector) 2012-03-04 23:02:28 +01:00
Olivier Teulière
d5c53b92d0 New Round::countJokersFromRack() utility method 2012-03-04 22:58:53 +01:00
Olivier Teulière
22fd6484f3 Correctly retrieve the game rack 2012-02-25 23:51:30 +01:00
Olivier Teulière
4077a25fa0 Use the GameMoveCmd command 2012-02-25 23:25:40 +01:00
Olivier Teulière
df806594ae New GameRackCmd class, not used yet 2012-02-25 23:17:04 +01:00
Olivier Teulière
f1c8bd587b Really fixed detection of the first turn (commit 43954a9 was wrong) 2012-02-25 23:17:04 +01:00
Olivier Teulière
6ac6849bf8 Remove status bar messages automatically after 2s 2012-02-25 21:56:41 +01:00
Olivier Teulière
7195f3415c Warn when loading a game, if there is already an existing game 2012-02-25 21:56:41 +01:00
Olivier Teulière
cae5f38af5 Allow saving the results of a regular expression search into a file 2012-02-25 21:56:41 +01:00
Olivier Teulière
746abef2cf Added search buttons to the "plus 1" and "regexp" tools 2012-02-25 21:56:41 +01:00
Olivier Teulière
43954a9fe5 Fixed detection of the first turn 2012-02-25 21:56:41 +01:00
Olivier Teulière
22f8cef33e Updated the source files to translate 2012-02-21 08:33:01 +01:00
Olivier Teulière
efb5fddf58 Reset the timer when the current turn changes 2012-02-21 08:22:33 +01:00
Olivier Teulière
182263ce74 New UndoCmd class, not used yet 2012-02-21 08:22:33 +01:00
Olivier Teulière
b1ed3215d9 Rewrote the navigation system, to make it more powerful and easier to understand.
Internally, commands are now stored a bit differently: some commands
which were at the end of a turn (like the players rack in duplicate
mode) are now at the beginning. But from a user point of view, there is
no visible difference, except some details in training mode (and the new
behaviour is arguably better :)).
Only (known) problem: after loading a game saved before this commit,
navigating in the game history may be less nice (in particular, racks
may not be fully restored).
2012-02-21 08:22:33 +01:00
Olivier Teulière
e915e5f2cf New "auto-executable" flag for commands, not yet used 2012-02-21 08:22:33 +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
59fac223f4 Renamed some methods 2012-02-21 08:22:32 +01:00
Olivier Teulière
038910e5df Removed a few useless assignations and Tile copies 2012-02-21 08:22:32 +01:00
Olivier Teulière
66eec913c9 Added several assertions 2012-02-21 08:22:32 +01:00
Olivier Teulière
32957abfcc When playing a word, forbid using a joker to specify a letter on the board (even a joker).
This is just a convention, but a reasonable one :)
2012-02-21 08:22:32 +01:00
Olivier Teulière
6e2c665bdf Simplify the handling of jokers in the Round class.
This also fixes a very old (but minor) bug: when a word containing a
joker was played "manually" (i.e. not via a round generated by the
Results class but via the Game::checkPlayedWord() method), subsequent
search results using this joker on the board would display it as a
joker, not as a normal tile.
2012-02-21 08:22:32 +01:00
Olivier Teulière
b855c5f64e Simplify slightly the Round API 2012-02-21 08:22:32 +01:00
Olivier Teulière
0be2769dfa New utility methods to get the lowercase (joker) or uppercase (no joker) variant of a tile 2012-02-21 08:22:32 +01:00
Olivier Teulière
0d45fc6227 When showing a preview on the board, do not hijack the normal internal data 2012-02-21 08:22:32 +01:00
Olivier Teulière
0ae77a659e Cosmetics 2012-02-21 08:22:32 +01:00
Olivier Teulière
221158e19a Simplify the Tile::operator==() method 2012-02-19 13:07:29 +01:00
Olivier Teulière
1336e3b65d Board: use the isVacant() method a bit more 2012-02-19 13:07:29 +01:00
Olivier Teulière
16a9a9b1a9 Removed Game::setTestTound() and Game::removeTestRound().
They are still available via the PublicGame class for interfaces.
2012-02-19 13:07:29 +01:00
Olivier Teulière
24d601543a Removed a useless include 2012-02-19 13:07:29 +01:00
Olivier Teulière
bf42c49850 Added loggers to most classes 2012-02-19 13:07:29 +01:00