Olivier Teulière
84e46bef85
Handle warnings and solos in the core
2012-03-26 07:49:25 +02:00
Olivier Teulière
7de3374fae
Code factorization
2012-03-26 07:49:25 +02:00
Olivier Teulière
3d724166b6
Allow inserting and dropping a single command in the history.
2012-03-26 07:49:24 +02:00
Olivier Teulière
7f504671bb
Fixed use of uninitialized value
2012-03-26 07:49:24 +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
f9ca096dda
Disable impossible actions in the popup menu instead of hiding them
2012-03-20 21:16:25 +01:00
Olivier Teulière
893219b164
New method to select players and to assign moves.
...
A player can now be selected by typing his table number, when the focus
is in the results table. Pressing the Enter key will assign the current
move to the selected player(s).
This allows a very fast assignment of moves.
2012-03-20 20:52:33 +01:00
Olivier Teulière
1dd271b147
Allow filtering several keys with the same filter
2012-03-19 23:14:34 +01:00
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