[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Maitretarot-devel-fr] pb avec les encheres
From: |
philippe brochard |
Subject: |
Re: [Maitretarot-devel-fr] pb avec les encheres |
Date: |
12 May 2002 00:43:19 +0200 |
User-agent: |
Gnus/5.09 (Gnus v5.9.0) Emacs/21.2 |
Yves Mettier <address@hidden> writes:
> 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?
>
C'est bien ce qu'il me semblait, j'oubliait un truc -> test si c'est
au joueur de faire la mise ou non !
je corrige (ajoute) ça tout de suite ...
> 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!
>
je teste demain.
> 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.
>
pas de problemes, je l'utiliserai dès qu'il sera fonctionnel.
Philippe
--
,-------------------. ,---------------,----------------------.
| Philippe Brochard | ... | address@hidden | http://hocwp.free.fr |
`------------------(_ (. .) `---------------'----------------------'
-------------------ooO--(_)--Ooo--------------------------------------