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

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

Re: [Maitretarot-devel-fr] pb avec les encheres


From: Yves Mettier
Subject: Re: [Maitretarot-devel-fr] pb avec les encheres
Date: Sun, 12 May 2002 00:37:29 +0200

On 11 May 2002 23:48:50 +0200
philippe brochard <address@hidden> wrote:

> 
> Bon, j'ai un pb avec les encheres : j'ai codé la partie
> du protocole correspondant au encheres de la manière suivante :
> 
> 
> --------------------------------------------------
> Encheres
> ========
> La sequence suivante est repetee quatre fois:
> S->C(4*gint) : chaque gint correspond à l'enchère du joueur dans
>              l'ordre des places. Ils sont à -1 si le joueur n'a pas
>              encore parlé. C'est au client de déterminer grace à ces
>              enchères qu'elle est sa position.
> S->C(1*gint) : Si le gint est non nul, on passe à la suite. S'il est nul,
>                on revient à l'étape précédente (attendre les 4*gint).
> C->S(1*gint) : Uniquement si le gint précédent était non nul. Mise du client.
>                Si la valeur est erronée, le serveur considère que le
>              client passe.
> Fin de la sequence
> 
> S->C(4*gint) : resultat final des enchères. C'est au client de savoir
>              si quelqu'un a pris et qui.  Si personne n'a pris, les
>              4 gint sont à 0, et c'est au client de savoir qu'on va
>              voir le chien puis recommencer la partie.
> --------------------------------------------------
> 
> 
> --------------------------------------------------
>   for (gi = 0; gi < nb_player; gi++)
>     {
>       ok = 0;
>       while (ok == 0)
>       {
>         player_get_bid (&player);     /* prend 4 gint */
> 
>         player_client_draw_desktop (&player, "Player ??? make its bid");
> 
>         ok = player_get_bid_is_valide (&player);  /* prend 1 gint -> ok */
>       }
> 
>       player_client_make_bid (&player);
>       player_send_bid (&player);   /* envoie un gint */
>     }
> 
>   /* Get final bids */
>   player_get_bid (&player);   /* prend 4 gint */
> --------------------------------------------------
> 
> 
> a priori il n'y a pas d'erreurs dans le code d'envoie et de 
> reception des differents gint (c'est dans player.c)
> 
> je trouve juste le protocole un peu bizarre (le coups du S->C(1*gint)
> a 1 -> on continue me parait louche :)

Bah non, c'est le serveur, il t'envoie plusieurs fois les encheres.
Simplement, si le S->C(1*gint) est a 1, on te demande ta mise.
Cela est redondant avec le fait que suivant les valeurs des encheres, tu peux 
savoir si tu indiques ta mise ou non.
On en avait discute, et tu m'avais dit que tu preferais avoir ce gint quand 
meme: ca facilitait ton implementation.
Si ce gint te gene, il vaut mieux que tu ne l'utilises pas et que tu calcules 
si c'est a ton tour de parler.
Et par la suite, on supprimera ce gint lors d'une coding party?

Hop, c'etait normalement ma derniere connexion de la soiree, sauf si y'a encore 
des courriers a repondre. A priori, je me reconnecte demain soir seulement.
Pense a aller voir libmaitretarot!

La prochaine fois que j'ai pas grand chose a faire, je modifie maitretarot pour 
qu'il utilise libmaitretarot si personne n'y voit d'inconvenients.

Yves



reply via email to

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