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

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

Re: [Maitretarot-devel-fr] les encheres ne marche toujours pas


From: philippe brochard
Subject: Re: [Maitretarot-devel-fr] les encheres ne marche toujours pas
Date: 13 May 2002 17:51:01 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

"address@hidden"<address@hidden> writes:

> > Yves Mettier <address@hidden> writes:
> > 
> > > On 12 May 2002 21:27:51 +0200
> > > philippe brochard <address@hidden> wrote:
> > > 
> > > > 
> > > > 
> > > > ok, ton code marche (voir plus bas)
> > > > mais je reprend le protocole quand même parce que 
> je crois que
> > > > j'ai pas tout compris à ce qui est ecrit.
> > > > 
> > > > 
> > > > Yves Mettier <address@hidden> writes:
> > > > 
> > > > > On 12 May 2002 15:13:25 +0200
> > > > > philippe brochard <address@hidden> wrote:
> > > > > 
> > > > > > 
> > > > > > bon, j'ai vraiment un probleme avec les 
> encheres.
> > > > > > voila le code que j'ai fait et la partie du 
> protocole qui va avec
> > > > > > :
> > > > > > 
> > > > > > 
> > > > > > ------------------------------------------------
> -----------------
> > > > > > ---------- La sequence suivante est repetee 
> quatre fois:
> > > > for (i = 0; i < 4; i++)
> > > > {
> > > >   ok = 0;
> > > >   while (ok == 0)
> > > >     {
> > > > > > 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.
> > > >       get_bid   (les 4 gint)
> > > > 
> > > > > > 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).
> > > >       ok = bid_is_valide  (1 gint)
> > > >     }  /* si ok est null on revient à l'etape 
> precedente */
> > > 
> > > OK. C'est le protocole qui est mal ecrit. Et je me 
> souviens l'avoir
> > > ecrit comme ca. Mea culpa.
> > > 
> > > Au lieu de:
> > > 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).
> > > 
> > > il faut lire:
> > > S->C(1*gint) : Si le gint est non nul, on passe à la 
> suite. S'il
> > >                est nul, on n'envoie pas l'enchere, ce 
> qui revient a
> > > revenir a l'etape suivante.
> > > 
> > oui, mais on revient a l'etape suivante par la boucle 
> for sans envoyer
> > l'enchere => vraiment pas besoin d'un while.
> 
> Hop, c'est ca!
> 
> > 
> > > Bref, il n'y a pas de boucle while. Tu lis 4 fois les 
> 4+1 gint, et la
> > > seule fois ou c'est a ton tour de faire l'enchere, tu 
> balances 1 gint.
> > > Si c'est bon, je prefere te laisser revoir le 
> protocole pour le rendre
> > > plus clair, vu que moi, j'ai merde!
> > > 
> > Je suis en train de me demander si le gint sert à 
> quelque chose.
> > On repete de toute facon 4 fois l'envoie des encheres 
> et c'est au client
> > de determiner (avec les -1) si c'est à lui de faire son 
> enchere.
> 
> Bah non, et on en avait discute auparavant. j'avais pas 
> compris que t'avais pas vu pourquoi c'etait inutile.
> 
> > 
> > Au debut, le gint été la pour dire se genre de chose 
> (avec seulement un
> > while), mais vue comme c'est codé maintenant, il ne 
> sert plus a rien.
> > 
> > Au devrai donc l'enlever du protocole. non ?
> 
> Oui, mais ca necessite un changement au niveau client et 
> serveur. Soit on fait ca lors d'une coding party, soit on 
> attend que j'ai le haut debit pour faire ca en meme temps.
> A moins que tu ne le fasses toi-meme dans le client ET le 
> serveur.
> 
> 
non, non je ne touche pas au serveur, j'ai trop de truc a
faire avant :)
De toute facon, il ne derange personne ce gint (sauf la
bande passante :)) 
donc pour l'instant on le laisse, on le virera plus tard.

> > 
> > [...]
> > 
> > > > > 
> > > > Ben, le while sert juste à repeter l'acqisition des 
> encheres temps
> > > > que le gint n'est pas à 1 (comme dis dans le 
> protocole).
> > > 
> > > Bon, y'a pas de while. A toi de me dire si mon 2eme 
> essai d'explication
> > > (le premier, c'etait le protocole.txt) est 
> convaincant.
> > > 
> > 
> > voir plus haut, le code marche très bien sans le while 
> et il pourrai
> > marcher sans le gint.
> 
> Donc c'est bon, on est tombe d'accord sur 
> l'interpretation du protocole. Reste a changer le texte 
> du protocole afin de le rendre moins ambigu. Et ensuite, 
> cf plus haut, a supprimer ce gint un jour.
> 
ouais, un truc du genre devrai aller (~ dixit toi :) :

S->C(1*gint) : Si le gint est non nul, on passe à la suite. S'il
                est nul, on n'envoie pas/ne fait pas l'enchere

mais je n'ai pas le temps de m'en charger : pb avec le serveur + le
client a finir :)

> > 
> > > > 
> > > > > > bon en attendant, je teste la lib de 
> maitretarot.
> > > > > 
> > > > > Alors?
> > > > > 
> > > > J'ai des pb de compilation :
> > > > 
> > > > configure.in: 22: required file `./ltconfig' not 
> found
> > > > 
> > > > j'ai donc pris le ltconfig 
> de /usr/share/libtool/ltconfig
> > > 
> > > C'est celui-la.
> > > Pourtant, je n'en ai pas, et ca marche.
> > > $ autoconf --version
> > > Autoconf version 2.13
> > > $ automake --version
> > > automake (GNU automake) 1.4-p5
> > > $ libtool --version
> > > ltmain.sh (GNU libtool) 1.4.2 (1.922.2.53 2001/09/11 
> 03:18:52)
> > > 
> > > Et toi, t'as quoi, des fois que le probleme vienne de 
> la?
> > > Et sinon, c'est en faisant ./configure que ca 
> deconne, ou c'est en
> > > faisant autre chose?
> > > 
> > 
> > j'ai ça :
> > 
> > $ autoconf --version
> > Autoconf version 2.13
> > $ automake --version
> > automake (GNU automake) 1.4
> > $ libtool --version
> > ltmain.sh (GNU libtool) 1.3.3 (1.385.2.181 1999/07/02 
> 15:49:11)
> > 
> > le probleme à l'air de venir de libtool (logique, 
> ltconfig est dedans)
> > 
> > sinon, c'est au moment de faire ./configure que ça 
> plante.
> 
> C'est autoconf qui genere configure. Donc c'est forcement 
> autoconf. Maintenant, autoconf utilise des trucs 
> existant, dont aclocal.m4. Donc ca peut venir d'aclocal. 
> Ca peut aussi venir de libtool qui met un truc qu'il ne 
> faut pas quelque part et qu'autoconf utilise?
> Bref, si y'a un package libtool dans debian-testing que 
> tu peux installer facilement, t'as qu'a upgrader. Arf, 
> non, upgrade pas tout de suite. Faudrait eclaircir le 
> probleme avant: on ne va pas dire a tout le monde qui a 
> debian d'upgrader s'ils ont le meme probleme!
> Bon, cherche de ton cote. Moi, je vais voir des que j'ai 
> le temps sur ma debian/progeny hybride progeny/potato/sid
> 
ouais, ca la fout mal si tout les Debianeux doivent upgrader
juste pour un jeu qui pourrai etre code avec stdlib.h et
stdio.h :)

> > > > ensuit un pb avec PKG :
> > > > 
> > > > ./configure: line 1754: syntax error near 
> unexpected token
> > > > `PKG_CHECK_MODULES(GLIB,'./configure: line 1754:
> > > > `PKG_CHECK_MODULES(GLIB, glib-2.0 >= 1.3.1)'
> > > 
> > > essaie de refaire autoconf puis automake, et si 
> necessaire aclocal et/ou
> > > libtoolize et/ou autoheade.
> > > Puis ./configure
> > > 
> > > > 
> > > > je me suis arreté la, j'attend que tu mette tout ça 
> dans maitretarot
> > > > et libmaitretarot.
> > > > 
> > > 
> > > Hop, ca va pas tarder.
> > > 
> > Un autre probleme avec maitretarot : il ne trouve pas 
> maitretarot.h
> > 
> > --------------------------------------------------
> > ./configure --with-
> libmaitretarot="/home/prog/tarot/libmaitretarot/src"
> 
> cd libmaitretarot
> ./configure --prefix=/tmp/libmt
> make
> make install
> 
> cd maitretarot
> ./configure --perfix=/tmp/mt --with-
> libmaitretarot=/tmp/libmt
> 
> Si ton LD_LIBRARY_PATH est OK, ca devrait marcher au poil.
> En d'autres termes, il faut installer libmaitretarot!
> 
> > [...] 
> > checking for maitretarot.h... no
> > configure: error: Could not find maitretarot.h. This 
> file comes with libmaitretarot
> > --------------------------------------------------
> > 
> > j'en ai essayer d'autre et il ne le trouve toujours pas
> > pourtant il est 
> ici : /home/prog/tarot/libmaitretarot/src/maitretarot.h
> 
> Tu files un chemin (/exemple/de/chemin), et il va 
> chercher dans le sous-repertoire include 
> (/exemple/de/chemin/include/maitretarot.h). C'est pour ca 
> qu'il faut l'installer. Si tu fais pas comme ca, ca peut 
> marcher, mais t'auras d'autres ennuis avec la lib. Mieux 
> vaut installer.
> 

meme avec ca, toujours le pb de ./ltconfig :(

> > 
> > 
> > > > 
> > > > > De mon cote, j'ai quelques trucs a faire sur 
> gtktalog.
> > > > > Ensuite, je forke maitretarot dans le CVS pour le 
> compiler contre
> > > > > libmaitretarot.
> > > > > 
> > > > > Un petit truc sur les clients et libmaitretarot.
> > > > > Est-ce qu'il est envisageable d'avoir les 
> fonctions qui
> > > > > lisent/ecrivent au serveur suivant le protocole 
> dans libmaitretarot?
> > > > > Le but, c'est bien sur que le code commun a 
> toutes les IA et a
> > > > > toutes les GUI ne soit pas duplique mais dans 
> libmaitretarot.
> > > > > 
> > > > oui, c'est faisable, le code commun est dans 
> player.c player.h
> > > > toutes ces fonction prennent en argument la 
> structure player_t qu'il
> > > > suffit de remplir avant chaque envoie.
> > > > 
> > > > exemple avant d'envoyer le chien, il faut remplir 
> player->chien[6]
> > > >                  "      une carte a jouer    "    
> player->card_play
> > > > etc...
> > > > 
> > > > 
> > > > pour l'instant, ce code est dupliquer dans le 
> client et dans
> > > > mt_dolphin_ia.
> > > 
> > > OK.
> > > J'y jetterai un coup d'oeil, et je verrai dans quelle 
> mesure je mets ca
> > > dans libmaitretarot.
> > > Note qu'il faut tout de meme que tu aies fini au 
> moins un client pour
> > > qu'on puisse tester ca avant de le mettre dans 
> libmaitretarot.
> > > 
> > oui, mais avant ça il faut que j'arrive a lancer le 
> serveur :)
> 
> Essaie encore...
> :)
> 
meme joueur, joue encore :)



Philippe

-- 
,-------------------.         ,---------------,----------------------.
| Philippe Brochard |   ...   | address@hidden | http://hocwp.free.fr |
`------------------(_  (. .)  `---------------'----------------------'
-------------------ooO--(_)--Ooo--------------------------------------



reply via email to

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