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:14:50 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

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.

> 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.

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 ?

[...]

> > > 
> > 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.

> > 
> > > > 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.

> > 
> > 
> > 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"
[...] 
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


> > 
> > > 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 :)


Philippe

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



reply via email to

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