[Top][All Lists]
[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--------------------------------------