maitretarot-devel-fr
[Top][All Lists]
Advanced

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

[Maitretarot-devel-fr] avance des clients/ia


From: philippe brochard
Subject: [Maitretarot-devel-fr] avance des clients/ia
Date: 25 Oct 2002 17:57:22 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Salut,

Un petit mail pour dire que :

 * les clients tiennent compte du nouveau protocole de score.

 * j'ai rajoute une option --no-start-screen au client gtk qui
        permet de se connecter a un jeu existant sans passer par
        la phase login.

 * j'ai rajoute une fonction de callback dans la lib pour
        avertir les clients que la connection a ete rompue :

        LIBMT_CLIENT_FUNCTION_LOST_CONNECTION

        Comme d'habitude, si on passe dans cette fonction,
        c'est qu'il y a eu une deconnexion, c'est au client
        de savoir comment la gerer :
     => mt_dolphin_ia affiche juste un message comme quoi il
        y a eu une deconnexion.
     => mt_ncurses_client affiche un ecran avec la meme info
        avant de quitter.
     => le client gtk affiche une boite de dialogue avec info
        de deconnexion puis revient a l'ecran de login.
        (je le fais demain :)

     => pour les autres clients il faut voir comment ils comptent
        gerer la deconnexion (un des usages possible est de liberer
        convenablement les differentes variables lors d'une deconnexion).
     

 * j'ai rajoute une fonction de callback pour avertir que le jeu s'est
        termine normalement :

        LIBMT_CLIENT_FUNCTION_NORMAL_CLOSE

        cette fonction peut servir a liberer les variables lors d'une
        fin normale du jeu (c'est le pendant de init).

 * j'ai rajoute une fonction de callback pour demander si le client
        veut rejouer :

        LIBMT_CLIENT_FUNCTION_ACK_REPLAY

        pour cela, il faut remplir le champ player->replay :
                player->replay = TRUE on rejoue une partie,
                player->replay = FALSE on veux quitter le jeu.

        par defaut, les clients demandent a rejouer de nouveau
        (player->replay = TRUE).


  Dans tout les cas, il faut penser a affecter ces fonctions de callback,
  sinon, on obtient un message d'erreur a l'execution du client (pas un 
  segfault, juste que la fonction n'est pas initialisee).



Philippe


-- 
(    )
 ~oo~         Philippe Brochard    <address@hidden>
  .. Gnu!                           http://hocwp.free.fr
  / =\   \=
 -   -    -   -=-= http://www.fsf.org/home.fr.html =-=-




reply via email to

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