[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Eliot-dev] eliot game/game_move_cmd.cpp test/driver utils/...
From: |
Olivier Teulière |
Subject: |
[Eliot-dev] eliot game/game_move_cmd.cpp test/driver utils/... |
Date: |
Sat, 21 Feb 2009 16:56:33 +0000 |
CVSROOT: /cvsroot/eliot
Module name: eliot
Changes by: Olivier Teulière <ipkiss> 09/02/21 16:56:33
Modified files:
game : game_move_cmd.cpp
test : driver
utils : eliottxt.cpp
Added files:
test : duplicate_explosive_variant.input
duplicate_explosive_variant.ref
duplicate_joker_variant.input
duplicate_joker_variant.ref
freegame_explosive_variant.input
freegame_explosive_variant.ref
freegame_joker_variant.input
freegame_joker_variant.ref
training_explosive_variant.input
training_explosive_variant.ref
training_joker_variant.input
training_joker_variant.ref
Log message:
- Fixed the previous fix for joker games, for real this time
- Added tests for joker and explosive games in all modes
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/eliot/game/game_move_cmd.cpp?cvsroot=eliot&r1=1.4&r2=1.5
http://cvs.savannah.gnu.org/viewcvs/eliot/test/driver?cvsroot=eliot&r1=1.13&r2=1.14
http://cvs.savannah.gnu.org/viewcvs/eliot/test/duplicate_explosive_variant.input?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/test/duplicate_explosive_variant.ref?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/test/duplicate_joker_variant.input?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/test/duplicate_joker_variant.ref?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/test/freegame_explosive_variant.input?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/test/freegame_explosive_variant.ref?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/test/freegame_joker_variant.input?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/test/freegame_joker_variant.ref?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/test/training_explosive_variant.input?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/test/training_explosive_variant.ref?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/test/training_joker_variant.input?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/test/training_joker_variant.ref?cvsroot=eliot&rev=1.1
http://cvs.savannah.gnu.org/viewcvs/eliot/utils/eliottxt.cpp?cvsroot=eliot&r1=1.34&r2=1.35
Patches:
Index: game/game_move_cmd.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/game/game_move_cmd.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- game/game_move_cmd.cpp 19 Feb 2009 18:26:11 -0000 1.4
+++ game/game_move_cmd.cpp 21 Feb 2009 16:56:32 -0000 1.5
@@ -106,14 +106,10 @@
{
if (m_round.isPlayedFromRack(i) && m_round.isJoker(i))
{
- // Get the real bag
- Bag tmpBag(m_game.getDic());
- m_game.realBag(tmpBag);
-
// Is the represented letter still available in the bag?
// XXX: this way to get the represented letter sucks...
Tile t(towupper(m_round.getTile(i).toChar()));
- if (tmpBag.in(t))
+ if (bag.in(t))
{
bag.replaceTile(Tile::Joker());
bag.takeTile(t);
@@ -121,6 +117,8 @@
// FIXME: This shouldn't be necessary, this is only
// needed because of the stupid way of handling jokers in
// rounds
+ // This is also needed for the unplayRound() method
+ // to work correctly
m_round.setJoker(i, false);
}
Index: test/driver
===================================================================
RCS file: /cvsroot/eliot/eliot/test/driver,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- test/driver 24 Jan 2009 10:28:21 -0000 1.13
+++ test/driver 21 Feb 2009 16:56:32 -0000 1.14
@@ -32,6 +32,10 @@
training_rosace 0
# Navigation in the game history
training_navigation 0
+# Joker game
+training_joker_variant 12
+# Explosive game
+training_explosive_variant 13
# Board cross off by one score
training_cross 0
@@ -65,6 +69,10 @@
duplicate_no_point 68 # For 2 jokers in the rack
# Navigation in the game history
duplicate_navigation 11
+# Joker game
+duplicate_joker_variant 14
+# Explosive game
+duplicate_explosive_variant 15
#################
# Free game mode
@@ -80,6 +88,10 @@
freegame_3_ai 2
# Navigation in the game history
freegame_navigation 10
+# Joker game
+freegame_joker_variant 16
+# Explosive game
+freegame_explosive_variant 17
##############
# Load / Save
@@ -90,7 +102,7 @@
# save and reload a training game, standard format
load_saved_game 0 # randseed unused
# load a training game with advanced format (test.elt)
-# load_test_adv 0 # We need to specifie a much more complete file format
+# load_test_adv 0 # We need to specify a much more complete file format
# before we can handle load/save on duplicate and
# freegame games
Index: utils/eliottxt.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/utils/eliottxt.cpp,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -b -r1.34 -r1.35
--- utils/eliottxt.cpp 24 Jan 2009 17:43:57 -0000 1.34
+++ utils/eliottxt.cpp 21 Feb 2009 16:56:33 -0000 1.35
@@ -1,6 +1,6 @@
/*****************************************************************************
* Eliot
- * Copyright (C) 2005-2008 Antoine Fraboulet & Olivier Teulière
+ * Copyright (C) 2005-2009 Antoine Fraboulet & Olivier Teulière
* Authors: Antoine Fraboulet <antoine.fraboulet @@ free.fr>
* Olivier Teulière <ipkiss @@ gmail.com>
*
@@ -290,20 +290,28 @@
{
printf(" ? : aide -- cette page\n");
printf(" e : démarrer le mode entraînement\n");
- printf(" c [] : charger la partie du fichier []\n");
+ printf(" ej : démarrer le mode entraînement en partie joker\n");
+ printf(" ee : démarrer le mode entraînement en partie détonante\n");
printf(" d [] {} : démarrer une partie duplicate avec\n");
printf(" [] joueurs humains et {} joueurs IA\n");
+ printf(" dj [] {} : démarrer une partie duplicate avec\n");
+ printf(" [] joueurs humains et {} joueurs IA (partie
joker)\n");
+ printf(" de [] {} : démarrer une partie duplicate avec\n");
+ printf(" [] joueurs humains et {} joueurs IA (partie
détonante)\n");
printf(" l [] {} : démarrer une partie libre avec\n");
printf(" [] joueurs humains et {} joueurs IA\n");
- printf(" D : raccourci pour d 1 1\n");
- printf(" L : raccourci pour l 1 1\n");
+ printf(" lj [] {} : démarrer une partie libre avec\n");
+ printf(" [] joueurs humains et {} joueurs IA (partie
joker)\n");
+ printf(" le [] {} : démarrer une partie libre avec\n");
+ printf(" [] joueurs humains et {} joueurs IA (partie
détonante)\n");
+ printf(" c [] : charger la partie du fichier []\n");
printf(" x [] {1} {2} {3} : expressions rationnelles\n");
printf(" [] expression à rechercher\n");
printf(" {1} nombre de résultats à afficher\n");
printf(" {2} longueur minimum d'un mot\n");
printf(" {3} longueur maximum d'un mot\n");
printf(" s [b|i] {1} {2} : définir la valeur {2} pour l'option {1},\n");
- printf(" qui est de type (b)ool ou (i)nt}\n");
+ printf(" qui est de type (b)ool ou (i)nt\n");
printf(" q : quitter\n");
}
@@ -855,7 +863,7 @@
if (tokens.empty())
continue;
- if (tokens[0].size() > 1)
+ if (tokens[0].size() > 2)
{
printf("%s\n", "Invalid command");
continue;
@@ -905,6 +913,14 @@
// New training game
Training *tmpGame =
GameFactory::Instance()->createTraining(iDic);
PublicGame *game = new PublicGame(*tmpGame);
+ // Set the variant
+ if (tokens[0].size() > 1)
+ {
+ if (tokens[0][1] == L'j')
+ game->setVariant(PublicGame::kJOKER);
+ else if (tokens[0][1] == L'e')
+ game->setVariant(PublicGame::kEXPLOSIVE);
+ }
game->start();
loopTraining(*game);
//GameFactory::Instance()->releaseGame(*game);
@@ -932,6 +948,14 @@
game->addPlayer(new HumanPlayer);
for (int i = 0; i < _wtoi(nbAI.c_str()); ++i)
game->addPlayer(new AIPercent(1));
+ // Set the variant
+ if (tokens[0].size() > 1)
+ {
+ if (tokens[0][1] == L'j')
+ game->setVariant(PublicGame::kJOKER);
+ else if (tokens[0][1] == L'e')
+ game->setVariant(PublicGame::kEXPLOSIVE);
+ }
game->start();
loopDuplicate(*game);
//GameFactory::Instance()->releaseGame(*game);
@@ -959,38 +983,20 @@
game->addPlayer(new HumanPlayer);
for (int i = 0; i < _wtoi(nbAI.c_str()); i++)
game->addPlayer(new AIPercent(1));
- game->start();
- loopFreegame(*game);
- //GameFactory::Instance()->releaseGame(*game);
- delete game;
- }
- break;
- case L'D':
+ // Set the variant
+ if (tokens[0].size() > 1)
{
- // New duplicate game
- Duplicate *tmpGame =
GameFactory::Instance()->createDuplicate(iDic);
- PublicGame *game = new PublicGame(*tmpGame);
- game->addPlayer(new HumanPlayer);
- game->addPlayer(new AIPercent(1));
- game->start();
- loopDuplicate(*game);
- //GameFactory::Instance()->releaseGame(*game);
- delete game;
- break;
+ if (tokens[0][1] == L'j')
+ game->setVariant(PublicGame::kJOKER);
+ else if (tokens[0][1] == L'e')
+ game->setVariant(PublicGame::kEXPLOSIVE);
}
- case L'L':
- {
- // New free game
- FreeGame *tmpGame =
GameFactory::Instance()->createFreeGame(iDic);
- PublicGame *game = new PublicGame(*tmpGame);
- game->addPlayer(new HumanPlayer);
- game->addPlayer(new AIPercent(1));
game->start();
loopFreegame(*game);
//GameFactory::Instance()->releaseGame(*game);
delete game;
- break;
}
+ break;
case L'x':
// Regular expression tests
handleRegexp(iDic, tokens);
Index: test/duplicate_explosive_variant.input
===================================================================
RCS file: test/duplicate_explosive_variant.input
diff -N test/duplicate_explosive_variant.input
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/duplicate_explosive_variant.input 21 Feb 2009 16:56:32 -0000
1.1
@@ -0,0 +1,5 @@
+de 0 1
+a g
+a p
+q
+q
Index: test/duplicate_explosive_variant.ref
===================================================================
RCS file: test/duplicate_explosive_variant.ref
diff -N test/duplicate_explosive_variant.ref
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/duplicate_explosive_variant.ref 21 Feb 2009 16:56:32 -0000
1.1
@@ -0,0 +1,76 @@
+Using seed: 15
+[?] pour l'aide
+commande> de 0 1
+helperSetRackRandom(): initial rack: ?HPLEYS (best word: gLYPHES)
+helperSetRackRandom(): replacing Joker with G
+helperSetRackRandom(): initial rack: ?WREFOI (best word: FERIa)
+helperSetRackRandom(): replacing Joker with A
+helperSetRackRandom(): initial rack: OW+?HBAG (best word: BOGHeY)
+helperSetRackRandom(): replacing Joker with E
+helperSetRackRandom(): initial rack: AW+?EDKE (best word: KWAs)
+helperSetRackRandom(): replacing Joker with S
+helperSetRackRandom(): initial rack: DEE+?ASI (best word: SpEEDAIS)
+helperSetRackRandom(): replacing Joker with P
+helperSetRackRandom(): initial rack: ?IDAEAO (best word: WEBrADIO)
+helperSetRackRandom(): replacing Joker with R
+helperSetRackRandom(): initial rack: A+?UTENZ (best word: ATtENUEZ)
+helperSetRackRandom(): replacing Joker with T
+helperSetRackRandom(): initial rack: ?EINECU (best word: GENICUlE)
+helperSetRackRandom(): replacing Joker with L
+helperSetRackRandom(): initial rack: ?TREVRT (best word: TREViRAT)
+helperSetRackRandom(): replacing Joker with I
+helperSetRackRandom(): initial rack: ?UNCNXS (best word: CEUX)
+helperSetRackRandom(): initial rack: ?NOAFUA (best word: FAUX)
+mode duplicate
+[?] pour l'aide
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - M - - - - -
+ B - K - - - J - - - O - N - - -
+ C - W E B R A D I O S - O - - -
+ D F A - O - U - - - - - T - - -
+ E E S - G E N I C U L E e - - -
+ F R - - H - E - - - - - R - - -
+ G I - - E - - - - - - - A - - -
+ H A G L Y P H E S - L A I N E E
+ I - - - S U A - P L a N T O N S
+ J - - - - - - - E - - - - - - -
+ K - - - - A T T E N U E Z - - -
+ L - - - C - - - D - - - O - - -
+ M - T R E V I R A T - - I - - -
+ N - - - U - - - I - V I D E R -
+ O F A U X - - - S - - - E - - -
+commande> a p
+Eliot 1.5
+
+Game type: Duplicate
+Player 0: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | HSGPYEL | GLYPHES | H2 | 114 | 0 | *
+ 2 | OIAWEFR | FERIA | 1D | 105 | 0 |
+ 3 | OW+HGBAE | BOGHEY | 4C | 42 | 0 |
+ 4 | AW+EDESK | KWAS | 2B | 51 | 0 |
+ 5 | DEE+PISA | SPEEDAIS | 8H | 89 | 0 | *
+ 6 | OAADEIR | WEBRADIO | C2 | 46 | 0 |
+ 7 | A+ZTTNUE | ATTENUEZ | K5 | 118 | 0 | *
+ 8 | CEUIELN | GENICULE | E4 | 94 | 0 | *
+ 9 | TVIRETR | TREVIRAT | M2 | 76 | 0 | *
+ 10 | CSN?UXN | CEUX | 4L | 50 | 0 |
+ 11 | NNS?+LOT | PLaNTONS | I8 | 61 | 0 | *
+ 12 | ?OUANAF | FAUX | O1 | 48 | 0 |
+ 13 | ANO?+RTI | NOTeRAIT | 12B | 77 | 0 | *
+ 14 | MLIEDNO | ZOIDE | 12K | 32 | 0 |
+ 15 | LMN+AUSE | SUA | I4 | 34 | 0 |
+ 16 | ELMN+ARE | LAINEE | H10 | 31 | 0 |
+ 17 | MR+IVMEL | VIDER | N10 | 34 | 0 |
+ 18 | LMM+QUEJ | JAUNE | 6B | 30 | 0 |
+ 19 | LMMQ+OSM | MOS | 10A | 27 | 0 |
+
+ Total: 1159
+
+Rack 0: LMMQ
+commande> q
+fin du mode duplicate
+commande> q
Index: test/duplicate_joker_variant.input
===================================================================
RCS file: test/duplicate_joker_variant.input
diff -N test/duplicate_joker_variant.input
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/duplicate_joker_variant.input 21 Feb 2009 16:56:32 -0000 1.1
@@ -0,0 +1,28 @@
+dj 1 1
+a t
+j gENEZ h8
+a S
+a g
+a l
+a p
+j pLANTIEZ 3f
+a g
+a l
+a p
+j DECODaT g5
+a g
+a l
+a p
+j dEPLANTIEZ 3d
+a g
+a l
+a p
+h p
+a g
+a p
+h p
+a g
+a p
+a l
+q
+q
Index: test/duplicate_joker_variant.ref
===================================================================
RCS file: test/duplicate_joker_variant.ref
diff -N test/duplicate_joker_variant.ref
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/duplicate_joker_variant.ref 21 Feb 2009 16:56:32 -0000 1.1
@@ -0,0 +1,235 @@
+Using seed: 14
+[?] pour l'aide
+commande> dj 1 1
+mode duplicate
+[?] pour l'aide
+commande> a t
+AK?EZEN
+commande> j gENEZ h8
+commande> a S
+Joueur 0: 46
+Joueur 1: 48
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - - - - - - -
+ D - - - - - - - - - - - - - - -
+ E - - - - - - - - - - - - - - -
+ F - - - - - - - - - - - - - - -
+ G - - - - - - - - - - - - - - -
+ H - - A K E N E S - - - - - - -
+ I - - - - - - - - - - - - - - -
+ J - - - - - - - - - - - - - - -
+ K - - - - - - - - - - - - - - -
+ L - - - - - - - - - - - - - - -
+ M - - - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 8 2 2 3 13 2 2 2 8 1 0 5 3 5 6 2 1 6 5 6 6 2 1 1 1 1 2
+commande> a p
+Eliot 1.5
+
+Game type: Duplicate
+Player 0: Human
+Player 1: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | AK?EZEN | AKENEs | H3 | 48 | 1 |
+
+ Total: 48
+
+Rack 0: Z+IL?ENT
+Rack 1: Z+IL?ENT
+commande> j pLANTIEZ 3f
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - - - - - - -
+ D - - - - - - - - - - - - - - -
+ E - - - - - - - - - - - - - - -
+ F - - P - - - - - - - - - - - -
+ G - - L - - - - - - - - - - - -
+ H - - A K E N E S - - - - - - -
+ I - - N - - - - - - - - - - - -
+ J - - T - - - - - - - - - - - -
+ K - - I - - - - - - - - - - - -
+ L - - E - - - - - - - - - - - -
+ M - - Z - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 8 2 2 3 12 2 2 2 7 1 0 4 3 4 6 1 1 6 5 5 6 2 1 1 1 0 2
+commande> a p
+Eliot 1.5
+
+Game type: Duplicate
+Player 0: Human
+Player 1: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | AK?EZEN | AKENEs | H3 | 48 | 1 |
+ 2 | Z+IL?ENT | pLANTIEZ | 3F | 86 | 0 | *
+
+ Total: 134
+
+Rack 0: DEDOTC?
+Rack 1: DEDOTC?
+commande> j DECODaT g5
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - - - - - - -
+ D - - - - - - - - - - - - - - -
+ E - - - - - - - - - - - - - - -
+ F - - P - - - - - - - - - - - -
+ G - - L - D E C O D A T - - - -
+ H - - A K E N E S - - - - - - -
+ I - - N - - - - - - - - - - - -
+ J - - T - - - - - - - - - - - -
+ K - - I - - - - - - - - - - - -
+ L - - E - - - - - - - - - - - -
+ M - - Z - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 7 2 1 1 11 2 2 2 7 1 0 4 3 4 5 1 1 6 5 4 6 2 1 1 1 0 2
+commande> a p
+Eliot 1.5
+
+Game type: Duplicate
+Player 0: Human
+Player 1: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | AK?EZEN | AKENEs | H3 | 48 | 1 |
+ 2 | Z+IL?ENT | pLANTIEZ | 3F | 86 | 0 | *
+ 3 | DEDOTC? | DECODaT | G5 | 79 | 0 | *
+
+ Total: 213
+
+Rack 0: RABEGE?
+Rack 1: RABEGE?
+commande> j dEPLANTIEZ 3d
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - - - - - - -
+ D - - - - - - - - - - - - - - -
+ E - - - - - - - - - - - - - - -
+ F - - P - - - - - - - - - - - -
+ G - - L - D E C O D A T - - - -
+ H - - A K E N E S - - - - - - -
+ I - - N - - - - - - - - - - - -
+ J - - T - - - - - - - - - - - -
+ K - - I - - - - - - - - - - - -
+ L - H E B E R G E A - - - - - -
+ M - - Z - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 6 1 1 1 9 2 1 1 7 1 0 4 3 4 5 1 1 5 5 4 6 2 1 1 1 0 2
+commande> a p
+Eliot 1.5
+
+Game type: Duplicate
+Player 0: Human
+Player 1: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | AK?EZEN | AKENEs | H3 | 48 | 1 |
+ 2 | Z+IL?ENT | pLANTIEZ | 3F | 86 | 0 | *
+ 3 | DEDOTC? | DECODaT | G5 | 79 | 0 | *
+ 4 | RABEGE? | hEBERGEA | L2 | 72 | 1 | *
+
+ Total: 285
+
+Rack 0: X?MFETR
+Rack 1: X?MFETR
+commande> h p
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - - - - - - -
+ D - - - - - - - - - - - - - - -
+ E - - - - - - - - - - - - - - -
+ F - - P - - - - - - - - - - - -
+ G - - L - D E C O D A T - - - -
+ H - - A K E N E S - - - - - - -
+ I - - N - - - - - - - - - - - -
+ J - - T - - - - - - - - - - - -
+ K - - I - - - - - - - - - - - -
+ L - - E - - - - - - - - - - - -
+ M - - Z - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a p
+Eliot 1.5
+
+Game type: Duplicate
+Player 0: Human
+Player 1: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | AK?EZEN | AKENEs | H3 | 48 | 1 |
+ 2 | Z+IL?ENT | pLANTIEZ | 3F | 86 | 0 | *
+ 3 | DEDOTC? | DECODaT | G5 | 79 | 0 | *
+
+ Total: 213
+
+Rack 0: RABEGE?
+Rack 1: RABEGE?
+commande> h p
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - - - - - - -
+ D - - - - - - - - - - - - - - -
+ E - - - - - - - - - - - - - - -
+ F - - P - - - - - - - - - - - -
+ G - - L - - - - - - - - - - - -
+ H - - A K E N E S - - - - - - -
+ I - - N - - - - - - - - - - - -
+ J - - T - - - - - - - - - - - -
+ K - - I - - - - - - - - - - - -
+ L - - E - - - - - - - - - - - -
+ M - - Z - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a p
+Eliot 1.5
+
+Game type: Duplicate
+Player 0: Human
+Player 1: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | AK?EZEN | AKENEs | H3 | 48 | 1 |
+ 2 | Z+IL?ENT | pLANTIEZ | 3F | 86 | 0 | *
+
+ Total: 134
+
+Rack 0: DEDOTC?
+Rack 1: DEDOTC?
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 8 2 2 3 12 2 2 2 7 1 0 4 3 4 6 1 1 6 5 5 6 2 1 1 1 0 2
+commande> q
+fin du mode duplicate
+commande> q
Index: test/freegame_explosive_variant.input
===================================================================
RCS file: test/freegame_explosive_variant.input
diff -N test/freegame_explosive_variant.input
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/freegame_explosive_variant.input 21 Feb 2009 16:56:32 -0000
1.1
@@ -0,0 +1,17 @@
+le 1 1
+a T
+j ADULENT h3
+a g
+a T
+j EXULTERA 5f
+a g
+a T
+j EDITATES F5
+a gm
+a T
+j EGERMAIS 11d
+a g
+a S
+a p
+q
+q
Index: test/freegame_explosive_variant.ref
===================================================================
RCS file: test/freegame_explosive_variant.ref
diff -N test/freegame_explosive_variant.ref
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/freegame_explosive_variant.ref 21 Feb 2009 16:56:32 -0000 1.1
@@ -0,0 +1,137 @@
+Using seed: 17
+[?] pour l'aide
+commande> le 1 1
+helperSetRackRandom(): initial rack: ?NADUTE (best word: ADUlENT)
+helperSetRackRandom(): replacing Joker with L
+helperSetRackRandom(): initial rack: ?EHSRMI (best word: cHRISME)
+helperSetRackRandom(): replacing Joker with C
+mode partie libre
+[?] pour l'aide
+commande> a T
+Joueur 0: ETUDALN
+Joueur 1: HMIRCES
+commande> j ADULENT h3
+helperSetRackRandom(): initial rack: ?TALEXE (best word: EXALTErA)
+helperSetRackRandom(): replacing Joker with R
+helperSetRackRandom(): initial rack: ?QNNIKE (best word: INuK)
+helperSetRackRandom(): replacing Joker with U
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - - - - - - -
+ D - - - - - - - - - - - - - - -
+ E - - - - - - - - - - - - - - -
+ F - - C - - - - - - - - - - - -
+ G - - H - - - - - - - - - - - -
+ H - - A D U L E N T - - - - - -
+ I - - R - - - - - - - - - - - -
+ J - - I - - - - - - - - - - - -
+ K - - S - - - - - - - - - - - -
+ L - - M - - - - - - - - - - - -
+ M - - E - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a T
+Joueur 0: XRAETEL
+Joueur 1: UEQNIKN
+commande> j EXULTERA 5f
+helperSetRackRandom(): initial rack: ?TESATD (best word: EDiTATES)
+helperSetRackRandom(): replacing Joker with I
+helperSetRackRandom(): initial rack: KN+?JERP (best word: JERKEr)
+helperSetRackRandom(): replacing Joker with R
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - - - - - - -
+ D - - - - - - - - - - - - - - -
+ E - - - - - - - - - - - - - - -
+ F - - C - E - - - - - - - - - -
+ G - - H - X - - - - - - - - - -
+ H - - A D U L E N T - - - - - -
+ I - - R - L - - - - - - - - - -
+ J - - I - T - - - - - - - - - -
+ K - - S - E - - - - - - - - - -
+ L - - M - R - - - - - - - - - -
+ M - - E - A - - - - - - - - - -
+ N - - - N I Q U E - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a T
+Joueur 0: DITTSAE
+Joueur 1: KNPRRJE
+commande> j EDITATES F5
+helperSetRackRandom(): initial rack: ?RGSEMI (best word: EGERMaIS)
+helperSetRackRandom(): replacing Joker with A
+helperSetRackRandom(): initial rack: NP+?RVON (best word: PReVOT)
+helperSetRackRandom(): replacing Joker with E
+commande> a gm
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A @ - - + - - - @ - - - + - - @
+ B - # - - - * - - - * - - - # -
+ C - - # - - - + - + - - - # - -
+ D + - - # - - - + - - - # - - +
+ E - - - - # - - - - - # - - - -
+ F - * C - E D I T A T E S - * -
+ G - - H - X - + - + - - - + - -
+ H @ - A D U L E N T - - + - - @
+ I - - R - L - + - + - - - + - -
+ J - * I - T * - J - * - - - * -
+ K - - S - E - - E - - # - - - -
+ L + - M # R - - R - - - # - - +
+ M - - E - A - + K + - - - # - -
+ N - # - N I Q U E - * - - - # -
+ O @ - - + - - - R - - - + - - @
+commande> a T
+Joueur 0: ERIMASG
+Joueur 1: NPVRNOE
+commande> j EGERMAIS 11d
+helperSetRackRandom(): initial rack: ?NBIAID (best word: BlINDAI)
+helperSetRackRandom(): replacing Joker with L
+helperSetRackRandom(): initial rack: NN+?UGEI (best word: RUGINENt)
+helperSetRackRandom(): replacing Joker with T
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - P - - - - - - -
+ B - - - - - - - R - - - - - - -
+ C - - - - - - - E - - - - - - -
+ D - - - - - - - V - - E - - - -
+ E - - - - - - - O - - G - - - -
+ F - - C - E D I T A T E S - - -
+ G - - H - X - - - - - R - - - -
+ H - - A D U L E N T - M - - - -
+ I - - R - L - - - - - A - - - -
+ J - - I - T - - J - - I - - - -
+ K - - S - E - - E - - S - - - -
+ L - - M - R - - R - - - - - - -
+ M - - E - A - - K - - - - - - -
+ N - - - N I Q U E - - - - - - -
+ O - - - - - - - R - - - - - - -
+commande> a S
+Joueur 0: 309
+Joueur 1: 248
+commande> a p
+Eliot 1.5
+
+Game type: Free game
+Player 0: Human
+Player 1: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | ETUDALN | ADULENT | H3 | 70 | 0 | *
+ 2 | HMIRCES | CHARISME | 3F | 88 | 1 | *
+ 3 | XRAETEL | EXULTERA | 5F | 84 | 0 | *
+ 4 | UEQNIKN | NIQUE | N4 | 46 | 1 |
+ 5 | DITTSAE | EDITATES | F5 | 65 | 0 | *
+ 6 | KN+PRRJE | JERKER | 8J | 69 | 1 |
+ 7 | ERIMASG | EGERMAIS | 11D | 90 | 0 | *
+ 8 | NP+VRNOE | PREVOT | 8A | 45 | 1 |
+
+ Total: 557
+
+Rack 0: LANBDII
+Rack 1: NN+ITEGU
+commande> q
+fin du mode partie libre
+commande> q
Index: test/freegame_joker_variant.input
===================================================================
RCS file: test/freegame_joker_variant.input
diff -N test/freegame_joker_variant.input
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/freegame_joker_variant.input 21 Feb 2009 16:56:32 -0000 1.1
@@ -0,0 +1,31 @@
+lj 1 1
+a T
+p
+p
+p
+p
+p
+a g
+a l
+a p
+j VExA 2J
+a g
+a T
+a l
+j ExO 15e
+a g
+a T
+a l
+p
+a p
+a l
+h p 5
+a g
+a p
+a l
+h p
+a g
+a p
+a l
+q
+q
Index: test/freegame_joker_variant.ref
===================================================================
RCS file: test/freegame_joker_variant.ref
diff -N test/freegame_joker_variant.ref
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/freegame_joker_variant.ref 21 Feb 2009 16:56:33 -0000 1.1
@@ -0,0 +1,233 @@
+Using seed: 16
+[?] pour l'aide
+commande> lj 1 1
+mode partie libre
+[?] pour l'aide
+commande> a T
+Joueur 0: ?AAUGOE
+Joueur 1: EP?TFTI
+commande> p
+commande> p
+commande> p
+commande> p
+commande> p
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - M - - - - -
+ D - - - - B - - - - O - - - - -
+ E - - - - A - - - - R - - - - -
+ F - - - - T - - - - D - - - - -
+ G - - - - E - - - W U - - - - -
+ H - - - F R I P E E S - - - - -
+ I - - - - E - - - B - - - - - -
+ J - V A I N C R A S - - - - - -
+ K - - - - T - - - - - - - - - -
+ L - - - - - - - - - - - - - - -
+ M - - - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 6 0 1 2 11 1 2 2 6 1 1 5 2 5 5 1 1 3 4 4 5 1 0 1 1 1 2
+commande> a p
+Eliot 1.5
+
+Game type: Free game
+Player 0: Human
+Player 1: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | ?AAUGOE | (PASS) | - | 0 | 0 |
+ 2 | EP?TFTI | FrIPE | H4 | 26 | 1 |
+ 3 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 4 | TT+EB?AN | BATEReNT | 5D | 86 | 1 | *
+ 5 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 6 | RCWV?AB | WeB | 9G | 36 | 1 |
+ 7 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 8 | ACRV+SA? | VAiNCRAS | J2 | 91 | 1 | *
+ 9 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 10 | USOM?DM | MOrDUS | 10C | 34 | 1 |
+
+ Total: 273
+
+Rack 0: AAEGOU?
+Rack 1: M+EEOSQ?
+commande> j VExA 2J
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - M - - - - -
+ D - - - - B - - - - O - - - - -
+ E - - - - A - - M O R E S Q U E
+ F - - - - T - - - - D - - - - -
+ G - - - - E - - - W U - - - - -
+ H - - - F R I P E E S - - - - -
+ I - - - - E - - - B - - - - - -
+ J - V A I N C R A S - - - - - -
+ K - E - - T - - - - - - - - - -
+ L - X - - - - - - - - - - - - -
+ M - A - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a T
+Joueur 0: AGOU?HD
+Joueur 1: IRLF?DN
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 5 0 1 2 8 1 2 2 6 1 1 5 1 5 4 1 0 3 3 4 4 1 0 0 1 1 2
+commande> j ExO 15e
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - M - - - - -
+ D - - - - B - - - - O - - - - -
+ E - - - - A - - M O R E S Q U E
+ F - - - - T - - - - D - - - - x
+ G - - - - E - - - W U - - - - O
+ H - - - F R I P E E S - - - - -
+ I - - - - E - - - B - - - - - -
+ J - V A I N C R A S - - - - - -
+ K - E - - T - - - - - - - - - -
+ L - X - - - - - - - - - - - - -
+ M - A - - - - - - - - - - - - -
+ N L I N D O R - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a T
+Joueur 0: ADGHUVC
+Joueur 1: FUI?ONL
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 5 0 1 1 8 1 2 2 5 1 1 4 1 4 2 1 0 2 3 4 4 1 0 0 1 1 1
+commande> p
+commande> a p
+Eliot 1.5
+
+Game type: Free game
+Player 0: Human
+Player 1: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | ?AAUGOE | (PASS) | - | 0 | 0 |
+ 2 | EP?TFTI | FrIPE | H4 | 26 | 1 |
+ 3 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 4 | TT+EB?AN | BATEReNT | 5D | 86 | 1 | *
+ 5 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 6 | RCWV?AB | WeB | 9G | 36 | 1 |
+ 7 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 8 | ACRV+SA? | VAiNCRAS | J2 | 91 | 1 | *
+ 9 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 10 | USOM?DM | MOrDUS | 10C | 34 | 1 |
+ 11 | AAEGOU? | VExA | 2J | 6 | 0 |
+ 12 | M+EEOSQ? | MORESQuE | E8 | 80 | 1 | *
+ 13 | AGOU+?HD | ExO | 15E | 2 | 0 |
+ 14 | IRLF?DN | LINDoR | N1 | 50 | 1 |
+ 15 | ADGHU+VC | (PASS) | - | 0 | 0 |
+ 16 | F+UI?ONL | FLIQUONs | 13B | 86 | 1 | *
+
+ Total: 497
+
+Rack 0: ACDGHUV
+Rack 1: EATLZL?
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 5 0 1 1 8 0 2 2 4 1 1 3 1 3 1 1 0 2 2 4 3 1 0 0 1 1 1
+commande> h p 5
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - M - - - - -
+ D - - - - B - - - - O - - - - -
+ E - - - - A - - - - R - - - - -
+ F - - - - T - - - - D - - - - -
+ G - - - - E - - - W U - - - - -
+ H - - - F R I P E E S - - - - -
+ I - - - - E - - - B - - - - - -
+ J - V A I N C R A S - - - - - -
+ K - E - - T - - - - - - - - - -
+ L - X - - - - - - - - - - - - -
+ M - A - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a p
+Eliot 1.5
+
+Game type: Free game
+Player 0: Human
+Player 1: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | ?AAUGOE | (PASS) | - | 0 | 0 |
+ 2 | EP?TFTI | FrIPE | H4 | 26 | 1 |
+ 3 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 4 | TT+EB?AN | BATEReNT | 5D | 86 | 1 | *
+ 5 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 6 | RCWV?AB | WeB | 9G | 36 | 1 |
+ 7 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 8 | ACRV+SA? | VAiNCRAS | J2 | 91 | 1 | *
+ 9 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 10 | USOM?DM | MOrDUS | 10C | 34 | 1 |
+ 11 | AAEGOU? | VExA | 2J | 6 | 0 |
+
+ Total: 279
+
+Rack 0: AGOU+?HD
+Rack 1: M+EEOSQ?
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 5 0 1 2 10 1 2 2 6 1 1 5 2 5 5 1 1 3 4 4 5 1 0 0 1 1 2
+commande> h p
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - M - - - - -
+ D - - - - B - - - - O - - - - -
+ E - - - - A - - - - R - - - - -
+ F - - - - T - - - - D - - - - -
+ G - - - - E - - - W U - - - - -
+ H - - - F R I P E E S - - - - -
+ I - - - - E - - - B - - - - - -
+ J - V A I N C R A S - - - - - -
+ K - - - - T - - - - - - - - - -
+ L - - - - - - - - - - - - - - -
+ M - - - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a p
+Eliot 1.5
+
+Game type: Free game
+Player 0: Human
+Player 1: Computer
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | ?AAUGOE | (PASS) | - | 0 | 0 |
+ 2 | EP?TFTI | FrIPE | H4 | 26 | 1 |
+ 3 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 4 | TT+EB?AN | BATEReNT | 5D | 86 | 1 | *
+ 5 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 6 | RCWV?AB | WeB | 9G | 36 | 1 |
+ 7 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 8 | ACRV+SA? | VAiNCRAS | J2 | 91 | 1 | *
+ 9 | AAEGOU? | (PASS) | - | 0 | 0 |
+ 10 | USOM?DM | MOrDUS | 10C | 34 | 1 |
+
+ Total: 273
+
+Rack 0: AAEGOU?
+Rack 1: M+EEOSQ?
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 6 0 1 2 11 1 2 2 6 1 1 5 2 5 5 1 1 3 4 4 5 1 0 1 1 1 2
+commande> q
+fin du mode partie libre
+commande> q
Index: test/training_explosive_variant.input
===================================================================
RCS file: test/training_explosive_variant.input
diff -N test/training_explosive_variant.input
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/training_explosive_variant.input 21 Feb 2009 16:56:33 -0000
1.1
@@ -0,0 +1,28 @@
+ee
+*
+a t
+*
+a t
+*
+a t
+*
+a t
+j BALTE h4
+a g
++
+a t
+t ABF??E
++
+a t
+j BI 4h
+a g
++
+a t
+t BAF?E
++
+a t
+t BAFE
++
+a t
+q
+q
Index: test/training_explosive_variant.ref
===================================================================
RCS file: test/training_explosive_variant.ref
diff -N test/training_explosive_variant.ref
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/training_explosive_variant.ref 21 Feb 2009 16:56:33 -0000 1.1
@@ -0,0 +1,86 @@
+Using seed: 13
+[?] pour l'aide
+commande> ee
+mode entraînement
+[?] pour l'aide
+commande> *
+helperSetRackRandom(): initial rack: ?OGUCNF (best word: ChNOUF)
+helperSetRackRandom(): replacing Joker with H
+commande> a t
+FNGCUHO
+commande> *
+helperSetRackRandom(): initial rack: ?ECTUST (best word: CUTTErS)
+helperSetRackRandom(): replacing Joker with R
+commande> a t
+RTUTCSE
+commande> *
+helperSetRackRandom(): initial rack: ?ICOINI (best word: NOIrCI)
+helperSetRackRandom(): replacing Joker with R
+commande> a t
+IIINCOR
+commande> *
+helperSetRackRandom(): initial rack: ?BLEAAE (best word: ABLAtEE)
+helperSetRackRandom(): replacing Joker with T
+commande> a t
+ATBEAEL
+commande> j BALTE h4
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - - - - - - -
+ D - - - - - - - - - - - - - - -
+ E - - - - - - - - - - - - - - -
+ F - - - - - - - - - - - - - - -
+ G - - - - - - - - - - - - - - -
+ H - - - B A L T E - - - - - - -
+ I - - - - - - - - - - - - - - -
+ J - - - - - - - - - - - - - - -
+ K - - - - - - - - - - - - - - -
+ L - - - - - - - - - - - - - - -
+ M - - - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> +
+helperSetRackRandom(): initial rack: AE+?SNED (best word: ENnEADES)
+helperSetRackRandom(): replacing Joker with N
+commande> a t
+AEDESNN
+commande> t ABF??E
+commande> +
+commande> a t
+ABF??EI
+commande> j BI 4h
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - - - - - - -
+ D - - - - - - - - - - - - - - -
+ E - - - - - - - - - - - - - - -
+ F - - - - - - - - - - - - - - -
+ G - - - - - - - - - - - - - - -
+ H - - - B A L T E - - - - - - -
+ I - - - I - - - - - - - - - - -
+ J - - - - - - - - - - - - - - -
+ K - - - - - - - - - - - - - - -
+ L - - - - - - - - - - - - - - -
+ M - - - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> +
+commande> a t
+ABEF??L
+commande> t BAF?E
+commande> +
+commande> a t
+BAF?EEU
+commande> t BAFE
+commande> +
+helperSetRackRandom(): initial rack: BAFE+?AD (best word: BLAFArDE)
+helperSetRackRandom(): replacing Joker with R
+commande> a t
+BAFEDAR
+commande> q
+fin du mode entraînement
+commande> q
Index: test/training_joker_variant.input
===================================================================
RCS file: test/training_joker_variant.input
diff -N test/training_joker_variant.input
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/training_joker_variant.input 21 Feb 2009 16:56:33 -0000 1.1
@@ -0,0 +1,45 @@
+ej
+*
+a t
+*
+a t
+*
+a t
+j PAVEuSE h2
+a g
++
+a t
+t WHISKYS
+r
+a r
+n 1
+a g
++
+a s
+a t
+j kA 3G
+a g
+t ??ABCDE
+a t
++
+a t
+j kAS j3
+a g
+a l
+a p
+h p
+a g
+a t
+a l
+h p
+a g
+a l
+h r
+*
+a t
+*
+a t
+*
+a t
+q
+q
Index: test/training_joker_variant.ref
===================================================================
RCS file: test/training_joker_variant.ref
diff -N test/training_joker_variant.ref
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ test/training_joker_variant.ref 21 Feb 2009 16:56:33 -0000 1.1
@@ -0,0 +1,190 @@
+Using seed: 12
+[?] pour l'aide
+commande> ej
+mode entraînement
+[?] pour l'aide
+commande> *
+commande> a t
+ICDSPT?
+commande> *
+commande> a t
+DAILE?O
+commande> *
+commande> a t
+E?ESAVP
+commande> j PAVEuSE h2
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - - - - - - - - - - - -
+ D - - - - - - - - - - - - - - -
+ E - - - - - - - - - - - - - - -
+ F - - - - - - - - - - - - - - -
+ G - - - - - - - - - - - - - - -
+ H - P A V E U S E - - - - - - -
+ I - - - - - - - - - - - - - - -
+ J - - - - - - - - - - - - - - -
+ K - - - - - - - - - - - - - - -
+ L - - - - - - - - - - - - - - -
+ M - - - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> +
+commande> a t
+IAPV?IG
+commande> t WHISKYS
+commande> r
+commande> a r
+ 1: WHISKEYS * 126 5C
+ 2: WHISKYS * 114 9B
+ 3: WHISKYS * 111 9E
+ 4: WHISKEYS * 92 8C
+ 5: WHISKEY 74 5C
+ 6: WHISKY 60 9E
+ 7: WHISKYS 51 7B
+ 8: WHISKYS 48 7E
+ 9: HUSKYS 47 6G
+ 10: WHISKY 47 7E
+commande> n 1
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - W - - - - - - - - - -
+ D - - - - H - - - - - - - - - -
+ E - - - - I - - - - - - - - - -
+ F - - - - S - - - - - - - - - -
+ G - - - - K - - - - - - - - - -
+ H - P A V E U S E - - - - - - -
+ I - - - - Y - - - - - - - - - -
+ J - - - - S - - - - - - - - - -
+ K - - - - - - - - - - - - - - -
+ L - - - - - - - - - - - - - - -
+ M - - - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> +
+commande> a s
+206
+commande> a t
+NII?NAX
+commande> j kA 3G
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - W - - - - - - - - - -
+ D - - - - H - - - - - - - - - -
+ E - - - - I - - - - - - - - - -
+ F - - - - S - - - - - - - - - -
+ G - - k - K - - - - - - - - - -
+ H - P A V E U S E - - - - - - -
+ I - - - - Y - - - - - - - - - -
+ J - - - - S - - - - - - - - - -
+ K - - - - - - - - - - - - - - -
+ L - - - - - - - - - - - - - - -
+ M - - - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> t ??ABCDE
+The bag does not contain all these letters
+commande> a t
+AIINNX
+commande> +
+commande> a t
+AIINNX?
+commande> j kAS j3
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - W - - - - - - - - - -
+ D - - - - H - - - - - - - - - -
+ E - - - - I - - - - - - - - - -
+ F - - - - S - - - - - - - - - -
+ G - - k - K - - - - - - - - - -
+ H - P A V E U S E - - - - - - -
+ I - - - - Y - - - - - - - - - -
+ J - - k A S - - - - - - - - - -
+ K - - - - - - - - - - - - - - -
+ L - - - - - - - - - - - - - - -
+ M - - - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 7 2 2 3 13 2 2 1 7 1 0 5 3 6 6 1 1 6 3 6 5 1 0 1 0 1 0
+commande> a p
+Eliot 1.5
+
+Game type: Training
+Player 0: Human
+
+ N | RACK | SOLUTION | REF | PTS | P | BONUS
+ ===|==========|=================|=====|=====|===|======
+ 1 | E?ESAVP | PAVEuSE | H2 | 80 | 0 | *
+ 2 | WHISKYS | WHISKEYS | 5C | 126 | 0 | *
+ 3 | NII?NAX | kA | 3G | 1 | 0 |
+ 4 | AIINNX+? | kAS | J3 | 2 | 0 |
+
+ Total: 209
+
+Rack 0: IINNX
+commande> h p
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - W - - - - - - - - - -
+ D - - - - H - - - - - - - - - -
+ E - - - - I - - - - - - - - - -
+ F - - - - S - - - - - - - - - -
+ G - - k - K - - - - - - - - - -
+ H - P A V E U S E - - - - - - -
+ I - - - - Y - - - - - - - - - -
+ J - - - - S - - - - - - - - - -
+ K - - - - - - - - - - - - - - -
+ L - - - - - - - - - - - - - - -
+ M - - - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a t
+AIINNX
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 8 2 2 3 13 2 2 1 7 1 0 5 3 6 6 1 1 6 3 6 5 1 0 1 0 1 1
+commande> h p
+commande> a g
+ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
+ A - - - - - - - - - - - - - - -
+ B - - - - - - - - - - - - - - -
+ C - - - - W - - - - - - - - - -
+ D - - - - H - - - - - - - - - -
+ E - - - - I - - - - - - - - - -
+ F - - - - S - - - - - - - - - -
+ G - - - - K - - - - - - - - - -
+ H - P A V E U S E - - - - - - -
+ I - - - - Y - - - - - - - - - -
+ J - - - - S - - - - - - - - - -
+ K - - - - - - - - - - - - - - -
+ L - - - - - - - - - - - - - - -
+ M - - - - - - - - - - - - - - -
+ N - - - - - - - - - - - - - - -
+ O - - - - - - - - - - - - - - -
+commande> a l
+ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z ?
+ 8 2 2 3 13 2 2 1 7 1 0 5 3 6 6 1 1 6 3 6 5 1 0 1 0 1 2
+commande> h r
+commande> *
+commande> a t
+AE?IUGB
+commande> *
+commande> a t
+DINO?EB
+commande> *
+commande> a t
+REX?GOE
+commande> q
+fin du mode entraînement
+commande> q
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Eliot-dev] eliot game/game_move_cmd.cpp test/driver utils/...,
Olivier Teulière <=