Olivier Teulière
fb8e464d7c
Display the word being played on the board
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
4200e33c17
Change the copyright years for all the files modified in 2012
2012-10-11 13:45:24 +02:00
Olivier Teulière
471dcf90e1
Rename Turn into TurnData (step 2)
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
bcc2aedbff
Improve the detection of finished games for duplicate and arbitration modes
2012-10-05 01:42:46 +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
Olivier Teulière
53adb5d91b
Saved games: do not support the (very) old format anymore
2012-04-08 20:57:46 +02:00
Olivier Teulière
b1e7381b39
Players can now have a table number
2012-03-19 22:49:58 +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
482b5d674f
Previewing a Round is now possible in all the game types.
...
It was only possible in Training mode. This change will be useful for
the future arbitration mdoe.
2012-01-17 00:43:19 +01:00
Olivier Teulière
befe577fe7
Got rid of Game::getModeAsString()
2011-08-28 19:25:26 +02:00
Olivier Teulière
17bdd27899
Moved the dictionary to the GameParams class
2011-08-28 19:25:26 +02:00
Olivier Teulière
408c92df42
Moved the game mode to the GameParams class
2011-08-28 19:25:26 +02:00
Olivier Teulière
fdc29871e5
New GameParams class to wrap a few game characteristics.
...
These characteristics will not change during the game.
2011-08-27 21:55:49 +02:00
Olivier Teulière
23771f3f71
Indicate the end of the game
2011-01-30 00:23:45 +00:00
Olivier Teulière
0c76b9d781
Simplified the looging macros, and added logs in various key places.
2011-01-29 23:47:20 +00:00
Olivier Teulière
3c7a84d543
Support saving/loading games (any game type) in XML format.
...
Status:
It works well, but there are still a few details to improve/fix
More details about the changes:
- New dependency on Arabica and Libxml2 to parse the XML
- Loading the old format is still supported for this release, but won't be supported anymore in the next one
- Games are now only saved in the new format
- In training mode, the player is now created externally, like in the other modes
- Avoid using GameIO (the one from game/) whenever possible
- Do not use a FILE* argument anymore when loading a game
- Throw and catch exceptions correctly when a game cannot be loaded or saved
- The non-regression tests now use a new method to print the game history
2009-11-29 16:01:31 +00:00
Olivier Teulière
7f1c0def1a
- Do not allow vertical words for the first turn in duplicate mode
...
- Adapted unit tests
2009-03-18 18:54:41 +00:00
Olivier Teulière
6f14e34fe7
Allow the first word to be vertical
2009-03-12 18:56:25 +00:00
Olivier Teulière
1df3c3ff51
Updated a few copyright dates
2009-01-24 17:44:56 +00:00
Olivier Teulière
7a5056354a
- Setting the rack manually is now done via a command, and can thus be undone
...
- Added non-regression tests for the navigation in the game history (all modes), and removed a less useful test
2009-01-24 10:28:20 +00:00
Olivier Teulière
8b9478542a
- The core is now able to handle "explosive games" ("parties détonantes"). No interface uses this ability yet.
...
- Fixed a bug in Game::helperSetRackRandom()
2009-01-14 21:53:37 +00:00
Olivier Teulière
229f1fcc14
- Removed the RACK_MANUAL enum value, and the obsolete Training::setRack() method
...
- qt/board_widget.cpp: cosmetics
2009-01-11 14:20:35 +00:00
Olivier Teulière
06dd7dff71
Removed Game::back()
2008-11-30 21:07:19 +00:00
Olivier Teulière
8e7c61e2d8
New command to handle changes of the current player. This fixes history navigation in free game mode
2008-11-23 17:07:42 +00:00
Olivier Teulière
e8cd922186
New Duplicate::MarkPlayedCmd command to change the "hasPlayed" status of a player, in duplicate mode
2008-11-23 17:06:44 +00:00
Olivier Teulière
b5c63ea6e3
Removed the useless return value of Game::start()
2008-11-23 17:04:40 +00:00
Olivier Teulière
7fa8c2b58f
Removed experimental support of the real bag. It was not a good idea after all...
2008-11-23 16:58:31 +00:00
Olivier Teulière
675b534e77
- Fixed compilation in debug mode
...
- Centralized navigation in the game history in the Navigation class
- The Qt interface now has (very) basic controls to navigate in the history.
2008-11-23 16:55:28 +00:00
Olivier Teulière
bce4ce4604
- The main game modifications (playing a move, setting a new rack, ...) are now done using the Command design pattern, which alows undoing these changes easily.
...
- Added support for navigation in the game history to the text interface (not unit-tested yet)
2008-11-23 08:18:03 +00:00
Olivier Teulière
4b766d2622
- Bumped version to 1.8-cvs
...
- Improved the error message when the dictionary cannot be loaded at startup
- Updated the french translation
- Made some Game fields private
- Added more constness
2008-11-22 14:40:25 +00:00
Olivier Teulière
70be50c64e
A lot of clean-up:
...
- Removed logiv from the History class
- Used BOOST_FOREACH to simplify loops
- Remove useless annotations and doxygen blocks
- Added some constness
- Marked Training::setRack() as deprecated
- Improved compilation order in game/
2008-11-22 13:09:28 +00:00
Olivier Teulière
a9626975e0
- Support shuffling the rack of the current player
...
- More intuitive players management (in particular when there are several
human players)
2008-09-14 17:56:18 +00:00
Olivier Teulière
12cc41fce7
Core:
...
- Fixed a crash on Windows
- Do not authorize words if the cross-checks are invalid (it was possible when playing a joker)
- Fixed detextion of invalid moves
- Improved unit tests, and fixed a bug in one of them
Qt interface:
- Do not allow playing a word if the coordinates are missing
- Better focus
2008-09-13 21:32:45 +00:00
Olivier Teulière
52b7363888
Players are not created by the Game object anymore but by the user of the class.
...
This allows more flexibility, in particular to choose the type of player or its name.
2008-01-28 19:17:33 +00:00
Olivier Teulière
8c3708fa99
- Removed Game::setRackRandomOld() (replaced by Game::setRackRandom())
...
- Adapted regression scenarii
2008-01-15 14:56:38 +00:00
Olivier Teulière
e7a8d01a8d
Merged the "cppdic" branch back into HEAD.
...
There are too many change to list properly, here is an overview of the main changes:
- the dictionary is now in C++
- the dictionary has a new format, where it is possible to specify the letters,
their points, their frequency, ... It is backwards compatible.
- Eliot now supports non-ASCII characters everywhere
- i18n of the compdic, listdic, regexpmain binaries
- i18n of the wxWidgets interface (now in english by default)
2008-01-08 13:52:32 +00:00
Antoine Fraboulet
d86bd2af4a
- 32/64 bits types
...
- unused function parameters
2007-08-04 20:01:27 +00:00
Olivier Teulière
5199b6b7c1
Cosmetic changes
2006-12-23 16:48:15 +00:00
Antoine Fraboulet
8d79f6ba78
- typo in declaration
2006-08-11 22:13:41 +00:00
Olivier Teulière
77be2e9219
Backport of the 'multibyte' branch on HEAD.
2006-01-22 12:23:52 +00:00
Antoine Fraboulet
55badf52e4
- correct helperSetRackRandom with RACK_ALL (replace tiles in bag)
...
- add game_io.cpp to load/save a game
2006-01-01 19:48:36 +00:00
Olivier Teulière
9aeeafa61b
Removed the useless Game::getPlayerRack() method
2005-12-27 15:01:07 +00:00
Antoine Fraboulet
d3e9d1e0ac
- off by one in History. corrected. all regression tests ok.
...
Scenario: training_dict
Scenario: training_bag
Scenario: training_search
Scenario: training_play
Scenario: duplicate_2_ai
Scenario: freegame_passing
Scenario: freegame_change
Scenario: freegame_3_ai
Summary: Everything was OK.
2005-12-27 00:06:23 +00:00
Antoine Fraboulet
4c56636aef
- use History class
...
- back is still buggy
2005-12-26 22:58:58 +00:00
Antoine Fraboulet
504198b8ff
- adding shortcut for getCurrentPlayer()
2005-12-26 18:09:52 +00:00
Olivier Teulière
4cef120cce
Minor factorization, and avoided another copy of PlayedRack
2005-11-06 01:05:06 +00:00
Olivier Teulière
03e8a80128
Use a vector of Turn objects instead of several history vectors
2005-11-05 23:22:41 +00:00
Olivier Teulière
5b682ef9b8
- Removed Game::format*
...
- Added Game::getPlayer
2005-11-05 15:48:59 +00:00