eliot/game
Olivier Teulière 87e1d4795b Sorting the search results happens to be quite slow, often much slower than the search itself.
But we don't need to sort them all the time, and in general we don't even need to keep all the rounds.

This commit greatly improves the search performance by filtering the results in 3 different ways, depending on the context:
 - A limit to the number of results can be given (useful for the training mode). The kept results are the best ones, not the first ones found by the search.
 - When only the best round is needed (when the AI is playing with level 100, or when preparing the rack for an explosive game), we don't need to keep rounds with a lower score
 - When the AI has a level lower than 100, it is still possible to skip many rounds

The search limit in training mode is configurable (defaulting to 100) and can be deactivated.
2009-01-22 18:30:22 +00:00
..
.cvsignore Added .cvsignore files 2004-07-08 18:17:31 +00:00
ai_percent.cpp Sorting the search results happens to be quite slow, often much slower than the search itself. 2009-01-22 18:30:22 +00:00
ai_percent.h Sorting the search results happens to be quite slow, often much slower than the search itself. 2009-01-22 18:30:22 +00:00
ai_player.h - Bumped version to 1.8-cvs 2008-11-22 14:40:25 +00:00
bag.cpp A lot of clean-up: 2008-11-22 13:09:28 +00:00
bag.h A lot of clean-up: 2008-11-22 13:09:28 +00:00
board.cpp New BoardSearch class to avoid carrying const parameters all over the place. 2009-01-17 14:57:32 +00:00
board.h New BoardSearch class to avoid carrying const parameters all over the place. 2009-01-17 14:57:32 +00:00
board_cross.cpp A lot of clean-up: 2008-11-22 13:09:28 +00:00
board_search.cpp New BoardSearch class to avoid carrying const parameters all over the place. 2009-01-17 14:57:32 +00:00
board_search.h New BoardSearch class to avoid carrying const parameters all over the place. 2009-01-17 14:57:32 +00:00
command.cpp Added auto-execution of commands when clearing future commands. 2008-11-30 20:55:45 +00:00
command.h Added auto-execution of commands when clearing future commands. 2008-11-30 20:55:45 +00:00
coord.cpp A lot of clean-up: 2008-11-22 13:09:28 +00:00
coord.h A lot of clean-up: 2008-11-22 13:09:28 +00:00
cross.cpp A lot of clean-up: 2008-11-22 13:09:28 +00:00
cross.h A lot of clean-up: 2008-11-22 13:09:28 +00:00
debug.h - Fixed compilation in debug mode 2008-11-23 16:55:28 +00:00
duplicate.cpp Added auto-execution of commands when clearing future commands. 2008-11-30 20:55:45 +00:00
duplicate.h Added auto-execution of commands when clearing future commands. 2008-11-30 20:55:45 +00:00
freegame.cpp New command to handle the player points, useful to handle the end of a free game 2008-11-30 21:10:25 +00:00
freegame.h Added auto-execution of commands when clearing future commands. 2008-11-30 20:55:45 +00:00
game.cpp Sorting the search results happens to be quite slow, often much slower than the search itself. 2009-01-22 18:30:22 +00:00
game.h - The core is now able to handle "explosive games" ("parties détonantes"). No interface uses this ability yet. 2009-01-14 21:53:37 +00:00
game_exception.cpp A lot of clean-up: 2008-11-22 13:09:28 +00:00
game_exception.h A lot of clean-up: 2008-11-22 13:09:28 +00:00
game_factory.cpp A lot of clean-up: 2008-11-22 13:09:28 +00:00
game_factory.h A lot of clean-up: 2008-11-22 13:09:28 +00:00
game_io.cpp - 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. 2008-11-23 08:18:03 +00:00
game_move_cmd.cpp Added toString() methods to the commands to ease debugging 2008-11-23 17:02:33 +00:00
game_move_cmd.h Added toString() methods to the commands to ease debugging 2008-11-23 17:02:33 +00:00
history.cpp - 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. 2008-11-23 08:18:03 +00:00
history.h - 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. 2008-11-23 08:18:03 +00:00
Makefile.am New command to handle the player points, useful to handle the end of a free game 2008-11-30 21:10:25 +00:00
matrix.h New BoardSearch class to avoid carrying const parameters all over the place. 2009-01-17 14:57:32 +00:00
move.cpp - 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. 2008-11-23 08:18:03 +00:00
move.h - 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. 2008-11-23 08:18:03 +00:00
navigation.cpp - When displaying an old turn, do not allow playing 2008-11-30 21:08:29 +00:00
navigation.h When navigating in the history, display the current turn in the status bar 2008-11-30 20:51:05 +00:00
player.cpp - 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. 2008-11-23 08:18:03 +00:00
player.h - 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. 2008-11-23 08:18:03 +00:00
player_move_cmd.cpp Added toString() methods to the commands to ease debugging 2008-11-23 17:02:33 +00:00
player_move_cmd.h Added toString() methods to the commands to ease debugging 2008-11-23 17:02:33 +00:00
player_points_cmd.cpp New command to handle the player points, useful to handle the end of a free game 2008-11-30 21:10:25 +00:00
player_points_cmd.h New command to handle the player points, useful to handle the end of a free game 2008-11-30 21:10:25 +00:00
player_rack_cmd.cpp Added toString() methods to the commands to ease debugging 2008-11-23 17:02:33 +00:00
player_rack_cmd.h Added toString() methods to the commands to ease debugging 2008-11-23 17:02:33 +00:00
pldrack.cpp A lot of clean-up: 2008-11-22 13:09:28 +00:00
pldrack.h A lot of clean-up: 2008-11-22 13:09:28 +00:00
public_game.cpp - The core is now able to handle "explosive games" ("parties détonantes"). No interface uses this ability yet. 2009-01-14 21:53:37 +00:00
public_game.h - The core is now able to handle "explosive games" ("parties détonantes"). No interface uses this ability yet. 2009-01-14 21:53:37 +00:00
rack.cpp A lot of clean-up: 2008-11-22 13:09:28 +00:00
rack.h A lot of clean-up: 2008-11-22 13:09:28 +00:00
results.cpp Sorting the search results happens to be quite slow, often much slower than the search itself. 2009-01-22 18:30:22 +00:00
results.h Sorting the search results happens to be quite slow, often much slower than the search itself. 2009-01-22 18:30:22 +00:00
round.cpp Improved debugging 2008-11-23 20:13:02 +00:00
round.h A lot of clean-up: 2008-11-22 13:09:28 +00:00
settings.cpp Sorting the search results happens to be quite slow, often much slower than the search itself. 2009-01-22 18:30:22 +00:00
settings.h Improved debugging 2008-11-23 20:13:02 +00:00
training.cpp Sorting the search results happens to be quite slow, often much slower than the search itself. 2009-01-22 18:30:22 +00:00
training.h Sorting the search results happens to be quite slow, often much slower than the search itself. 2009-01-22 18:30:22 +00:00
turn.cpp - 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. 2008-11-23 08:18:03 +00:00
turn.h - 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. 2008-11-23 08:18:03 +00:00
turn_cmd.cpp Added auto-execution of commands when clearing future commands. 2008-11-30 20:55:45 +00:00
turn_cmd.h Added auto-execution of commands when clearing future commands. 2008-11-30 20:55:45 +00:00