Commit graph

268 commits

Author SHA1 Message Date
Olivier Teulière
f5bde7fb4e - Compilation fix for Windows
- Display the Eliot icon
 - Improved printing
 - Allow changing the level of computer players
 - Generate automatically a default name for players
 - Translate Qt's own strings (only works on Linux at the moment)
2008-09-03 17:28:27 +00:00
Olivier Teulière
75a67b28a5 Dic:
- Throw an exception if a regular expresison is invalid
 - Handle the exception in callers code

Game:
 - Fixed a bug in setRackRandom()

Qt interface:
 - Display the dictionary name in the status bar
 - Implemented printing
 - Translation of the interface into French. The menus have temporarily lost their accelerator keys in English.
2008-08-31 11:48:11 +00:00
Olivier Teulière
a32f1b7aaf Dic:
- regexp search results are now in uppercase, like other results
 - the regexp search indicates if there are more results than the maximum
   allowed
Qt interface:
 - new window with some dictionary tools: check word, word+1 and regexp search
2008-08-27 21:20:03 +00:00
Olivier Teulière
468951ca0f Cosmetic change 2008-07-28 20:24:06 +00:00
Olivier Teulière
89cd23d4b7 Oops... I forgot to update this file when simplifying the prototype of Dictionary::searchRegExp() 2008-07-28 19:57:46 +00:00
Olivier Teulière
cad582d912 Fixed a off-by-one error. 2008-07-28 18:37:09 +00:00
Olivier Teulière
2b161abd2c Added consts, renamed a class, and simplified the code using vectors 2008-07-27 15:28:50 +00:00
Olivier Teulière
fa493d4135 Fixed a warning 2008-07-27 15:26:15 +00:00
Olivier Teulière
90badeca21 - Fixed a bug in the parser, preventing to parse correctly some regular expressions with wide chars. The regular expressions seem now to work fine with a dictionary using polish words.
- More C++ in the automaton code
 - Simplified the code in several places
2008-07-27 13:32:47 +00:00
Olivier Teulière
7ea51d2f23 Compilation fixes for some systems (missing headers) 2008-07-20 12:15:51 +00:00
Olivier Teulière
0bfcad6d58 Various little fixes to the regexp engine to support wide characters.
It now works fine on any dictionary using non-ASCII characters!
2008-07-13 07:55:47 +00:00
Olivier Teulière
11adaba410 - Added several tests for the regular expressions engine
- New regexp parser using Boost.Spirit. Lex and yacc are now gone.
   The main advantage of this new parser, apart from being purely C++,
   is that it can handle wide characters.
   Currently, the new parser does the same as the previous one, but the
   code is not yet ready to use regular expressions with non-ASCII
   dictionaries.
2008-07-07 17:29:59 +00:00
Olivier Teulière
597673e8e5 Fixed an invalid read when sorting the search results and adapted regression scenarii 2008-07-04 19:03:12 +00:00
Olivier Teulière
cc70ccabef Fixed typos 2008-07-03 20:14:46 +00:00
Olivier Teulière
c7f85ce151 - Search results with the same score are now sorted alphabetically
- Adapted test scenarii for the new order of results
2008-03-03 22:13:58 +00:00
Olivier Teulière
414baa8d7a - Use vectors instead of lists to store the results of dictionary searches
- New parameter to most search functions, allowing to limit the number of results.
   No interface uses it yet.
2008-03-02 18:45:10 +00:00
Olivier Teulière
099d531177 Indicate that the input of compdic should be sorted and without duplicate entries 2008-02-24 11:30:56 +00:00
Olivier Teulière
3c52637b93 Copyright and email address updates 2008-02-22 20:46:46 +00:00
Olivier Teulière
f19bc036f8 - Handle the BOM properly if it is present
- Ignore empty lines even if the file format is not the native one
2008-02-22 20:30:01 +00:00
Olivier Teulière
0acc5cd48f Do not try to complete the rack when no letter was removed 2008-02-12 21:02:39 +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
009ac85148 Fixed the colours in the history widget, when rack and solution are not on the same line 2008-01-27 20:17:10 +00:00
Olivier Teulière
9afebca0c2 - Allow sorting the training results
- Added auxiliary windows for the history and the external board
 - Gave a title to auxiliary windows and remember their position (more or less) and size
 - Auxiliary windows do not survive anymore after the main one
 - Preferences are now stored in a sensible place
2008-01-26 23:03:32 +00:00
Olivier Teulière
457b368ae7 Qt interface:
- Ensure unicity of players names (in the interface only, not the core)
 - Update the main window title with the game type
 - Display the player name in the history
 - The history widget is now able not to align the rack and the corresponding word
 - The dictionary path is remembered in the preferences
 - Ask for confirmation when loading a dictionary in the middle of a game
 - Preview tiles are coloured differently, and joker characters are in lowercase
2008-01-26 16:58:46 +00:00
Olivier Teulière
d8780822c2 - Fixed a bug due to the reject sign '-' preventing to load a saved training game
- Qt interface: Loading and saving a game is now supported (it only works in
   training mode, due to limitations in the core)
2008-01-26 10:10:50 +00:00
Olivier Teulière
f0b41f7ee7 Qt interface: First version of a dialog for preferences.
The preferences are not peristent yet.
2008-01-25 18:42:59 +00:00
Olivier Teulière
cba81de777 Qt interface: added support for training mode 2008-01-24 20:18:00 +00:00
Olivier Teulière
a5cefebd3f - New HistoryTabWidget control to display all the histories in a convenient way
- New PlayerTabWidget control to simplify the code in MainWindow
 - Simplification and uniformization of signal handling when the Game object is changed or updated
 - Improved the general layout a little bit (but the resizing behaviour is far from perfect)
2008-01-22 15:30:20 +00:00
Olivier Teulière
0bcc2c0930 Very beginning of a Qt interface. Status:
- the multiplayer modes are more or less playable
 - the training mode is not playable at all
 - the current layout is still experimental
 - many dialogs and options are missing
 - tested on Linux only

There are still hundreds of things to do...
2008-01-20 18:40:12 +00:00
Olivier Teulière
7d81fc5420 Fixed the crossword search (the new dictionary is more sensitive).
Anyway, this search is useless since the same can be done with a regexp...
2008-01-19 21:34:58 +00:00
Olivier Teulière
0a4b342f78 - Players can now have a name
- Use player names in the ncurses interface
 - In training mode, create the hidden player in the constructor, not in start()
 - When the AI has nothing to play, change the letters instead of simply passing
 - New Makefile to build the win32 dependencies automatically (INSTALL file updated)
2008-01-19 19:33:08 +00:00
Olivier Teulière
8c3708fa99 - Removed Game::setRackRandomOld() (replaced by Game::setRackRandom())
- Adapted regression scenarii
2008-01-15 14:56:38 +00:00
Antoine Fraboulet
6c831c5534 - add compile-time dependences to compile erl.lpp and erl.ypp from a CVS checkout 2008-01-13 20:26:04 +00:00
Olivier Teulière
4c3b6db665 Release 1.6 is done, so bump version number to 1.7-cvs 2008-01-13 19:01:43 +00:00
Olivier Teulière
1b16dbd0cc Updated the NEWS file and added it to the generated win32 package 2008-01-13 18:19:10 +00:00
Olivier Teulière
6138130800 - Fixed language detection on Windows
- Slightly improved the translation
 - Added the 'package-win32-zip' target to ease win32 deliveries
2008-01-12 20:42:25 +00:00
Olivier Teulière
572b31c64e - dic/encoding.cpp: simplification (this also removes a warning)
- game/rack.*: added a missing const
 - game/game_io.cpp: fixed a compilation warning
2008-01-11 10:09:26 +00:00
Olivier Teulière
7e7f7f2dfa - wxwin/mainframe.cc: Fixed a crash occurring when no config file is found
- Fixed a bug occurring in duplicate mode: sometimes the game ended too early,
   while it was still allowed to go on.
   Also updated the corresponding regression scenario
2008-01-10 10:23:36 +00:00
Olivier Teulière
81e980104f - Board::GetLetterMultiplier() and Board::GetWordMultiplier() are now static
- Added 2 convenient getters: Dictionary::getName() and Bag::getDic()
2008-01-09 10:48:19 +00:00
Olivier Teulière
1e5c1cdd9f Fixed make distcheck with recent automake: there is no need to distribute mkinstalldirs! 2008-01-08 16:33:55 +00:00
Olivier Teulière
ba230eda60 - Bumped version number to 1.6
- Used the -Wall option of automake, and fixed the reported warnings
 - Updated french translation
2008-01-08 16:09:08 +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
Antoine Fraboulet
33e5b23004 - automake 1.10 (ylwrap) naming system modification 2007-08-04 19:57:45 +00:00
Olivier Teulière
5199b6b7c1 Cosmetic changes 2006-12-23 16:48:15 +00:00
Olivier Teulière
831c578c3a Use Unix file fornat 2006-12-23 13:57:08 +00:00
Olivier Teulière
421d0a29b1 Fixed a few char/wchar_t issues. The remaining ones need a wchar_t-aware dictionary 2006-12-23 13:50:43 +00:00
Olivier Teulière
21c07afee4 Removed useless files 2006-11-05 17:24:32 +00:00
Olivier Teulière
9949225b8b Fixed a nasty bug, due to the way jokers are handled 2006-11-05 17:04:39 +00:00
Antoine Fraboulet
f0949a59de - adding some tests : training_joker2 still fails, no clue where it comes from
search should find much more results - regression from 1.4
2006-11-05 13:34:27 +00:00