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: address@hidden
Subject: Re: [Maitretarot-devel-fr] les encheres ne marche toujours pas
Date: Mon, 13 May 2002 15:29:53 +0000

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


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

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

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

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

Yves
--
homepage - http://ymettier.free.fr                   -
gtktalog - http://www.freesoftware.fsf.org/gtktalog  -
cardpics - http://www.freesoftware.fsf.org/cardpics/ -

--------------
Profitez des 2 offres exceptionnelles Tiscali !
"Internet Gratuit le Jour" et "Modem ADSL remboursé"
Cliquez ici, http://register.tiscali.fr/forfaits_ls/
Offres soumises à conditions.





reply via email to

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