eliot-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Eliot-dev] eliot/utils eliottxt.cpp


From: eliot-dev
Subject: [Eliot-dev] eliot/utils eliottxt.cpp
Date: Fri, 11 Aug 2006 22:06:53 +0000

CVSROOT:        /cvsroot/eliot
Module name:    eliot
Changes by:     Antoine Fraboulet <afrab>       06/08/11 22:06:53

Modified files:
        utils          : eliottxt.cpp 

Log message:
        - removed game loading commands in mode loops
        - add game loading in main loop
        - changed stderr to stdout for incorrect words during gameplay

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/eliot/utils/eliottxt.cpp?cvsroot=eliot&r1=1.15&r2=1.16

Patches:
Index: eliottxt.cpp
===================================================================
RCS file: /cvsroot/eliot/eliot/utils/eliottxt.cpp,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -b -r1.15 -r1.16
--- eliottxt.cpp        29 Jan 2006 12:40:49 -0000      1.15
+++ eliottxt.cpp        11 Aug 2006 22:06:53 -0000      1.16
@@ -227,7 +227,6 @@
     printf("  j [] {} : jouer le mot [] aux coordonnées {}\n");
     printf("  p [] : passer son tour en changeant les lettres []\n");
     printf("  s [] : sauver la partie en cours dans le fichier []\n");
-    printf("  c [] : charger la partie du fichier []\n");
     printf("  q    : quitter le mode partie libre\n");
 }
 
@@ -251,7 +250,6 @@
     printf("  j [] {} : jouer le mot [] aux coordonnées {}\n");
     printf("  n [] : passer au joueur n°[]\n");
     printf("  s [] : sauver la partie en cours dans le fichier []\n");
-    printf("  c [] : charger la partie du fichier []\n");
     printf("  q    : quitter le mode duplicate\n");
 }
 
@@ -260,6 +258,7 @@
 {
     printf("  ?       : aide -- cette page\n");
     printf("  e       : démarrer le mode entraînement\n");
+    printf("  c []    : charger la partie du fichier []\n");
     printf("  d [] {} : démarrer une partie duplicate avec\n");
     printf("                [] joueurs humains et {} joueurs IA\n");
     printf("  l [] {} : démarrer une partie libre avec\n");
@@ -406,7 +405,7 @@
                         }
                         if ((res = iGame.play(coord, token)) != 0)
                         {
-                            fprintf(stderr, "Mot incorrect ou mal placé 
(%i)\n",
+                            fprintf(stdout, "Mot incorrect ou mal placé 
(%i)\n",
                                     res);
                             break;
                         }
@@ -538,7 +537,7 @@
                         }
                         if ((res = iGame.play(coord, token)) != 0)
                         {
-                            fprintf(stderr, "Mot incorrect ou mal placé 
(%i)\n",
+                            fprintf(stdout, "Mot incorrect ou mal placé 
(%i)\n",
                                     res);
                             break;
                         }
@@ -639,7 +638,7 @@
                         }
                         if ((res = iGame.play(coord, token)) != 0)
                         {
-                            fprintf(stderr, "Mot incorrect ou mal placé 
(%i)\n",
+                            fprintf(stdout, "Mot incorrect ou mal placé 
(%i)\n",
                                     res);
                             break;
                         }
@@ -820,29 +819,28 @@
                     else
                     {
                         string filename = convertToMb(token);
-                        FILE* fin;
-                        if ((fin = fopen(filename.c_str(), "r")) == NULL)
-                        {
-                            printf("impossible d'ouvrir %s\n",
-                                   filename.c_str());
-                            break;
-                        }
-                        Game *game = Game::load(fin, iDic);
-                        fclose(fin);
+                        Game *game = GameFactory::Instance()->load(filename, 
iDic);
                         if (game == NULL)
                         {
-                            printf("erreur pendant le chargement\n");
+                            printf("erreur pendant le chargement de la 
partie\n");
                         }
                         else
                         {
-                            if (game->getMode() == Game::kTRAINING)
+                            switch (game->getMode())
+                                {
+                                case Game::kTRAINING:
                                 loop_training((Training&)*game);
-                            else if (game->getMode() == Game::kFREEGAME)
+                                    break;
+                                case Game::kFREEGAME:
                                 loop_freegame((FreeGame&)*game);
-                            else
+                                    break;
+                                case Game::kDUPLICATE:
                                 loop_duplicate((Duplicate&)*game);
+                                    break;
                         }
                     }
+                        GameFactory::Instance()->releaseGame(*game);
+                    }
                     break;
                 case L'e':
                 {
@@ -958,7 +956,9 @@
         exit(1);
     }
     else
+    {
         strcpy(dic_path, argv[1]);
+    }
 
     switch (Dic_load(&dic, dic_path))
     {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]