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

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

Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :)


From: Yves Mettier
Subject: Re: Rep:Re: [Maitretarot-devel-fr] le client fonctionne :)
Date: Wed, 22 May 2002 18:30:08 +0200

On 22 May 2002 17:48:19 +0200
philippe brochard <address@hidden> wrote:

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

[...]

> > J'aime pas l'idée d'avoir plusieurs socket pour un m^me programe. De
> > plus, si les messages sont typés, cela évite d'avoir à gérer trop
> > finement les états des serveurs.
> > 
> euh, moi je decouvre toute la partie communication en reseaux, donc
> si vous dites qu'il faut coder avec une seule socket, alors je vous
> suis (mode=pas contrariant :)

En fait, si on veut faire les choses bien, et rendre maitretarot
facilement extensible, je crois qu'il faudrait typer les messages.
En d'autres termes, et c'est un exemple: tout message devra etre precede
d'un gint. Ce gint, s'il est egal a zero, c'est le protocole. S'il est
egal a 1, c'est autre chose, a definir plus tard.

Au niveau des sockets et du nombre de sockets, c'est facile. Entre 2
programmes:
1/ si t'en as une, tu geres les differents types de messages en fonction
d'un element qui fait partie du protocole (comme le gint dont j'ai parle
ci-dessus)
2/ Si t'en as deux, tu geres les differents types de messages en
fonction de la ou ils viennent.

Cas 1: il faut etendre le protocole
Cas 2: il faut coder un truc pour lire les 2 sockets a la fois.

Et dans le cas 2, on bouffe une ressource de plus.
Donc cas 1=mieux. Et hop, t'as mon explication.

Yves

> 
> 
> 
> Philippe
> 
> 
> 
> > nicO
> > 
> > -----Message d'origine-----
> > De: philippe brochard <address@hidden>
> > A: address@hidden
> > Date: 22/05/02
> > Objet: Re: [Maitretarot-devel-fr] le client fonctionne :)
> > 
> > Yves Mettier <address@hidden> writes:
> > 
> > > On 19 May 2002 17:11:31 +0200
> > > philippe brochard <address@hidden> wrote:
> > > 
> > > > 
> > > > Bon, ca y est j'ai enfin fini le client (il reste quand meme
> > > > la fin de partie et le jeux successifs a gerer).
> > > > Mais, on peut enfin jouer des cartes :)
> > > > 
> > > > Il reste aussi quelques trucs qui posent problemes :
> > > > 
> > > >   - le chien est parfois accepte, parfois rejeter ?!?
> > > 
> > > La, je peux rien dire.
> > > Je vais essayer d'implementer une fonction de dump des cartes dans
> > > un fichier. Comme ca, ce sera plus facile, lorsqu'il est refuse,
> > > ou meme dans d'autres situations, de mettre l'etat du jeu dans un
> > > fichier
> > texte.
> > > En collectionnant ce genre de dump, et en cas d'erreur, peut-etre
> > > pourra-t-on faire des rapprochements (style, le chien est toujours
> > > refuse quand il y a la carte <completer ici> dedans)
> > > 
> > > > 
> > > >   - les gardes sans et contre font que le jeux est decale:
> > > >       le joueur qui joue, joue en fait a la place du suivant :(
> > > 
> > > Mmmmh, je vais voir.
> > > 
> > > > Bon, j'ai fait les tests en enlevant la partie gestion des
> > > > cartes de maitretarot, maintenant je remet tout en place et je
> > > > fait des tests plus poussés.
> > > 
> > > OK.
> > > 
> > > De mon cote, je fais ca. Je vais aussi voir dans quelle mesure on
> > > peut faire evoluer le protocole. Il s'agirait de rendre possible
> > > aux
> > clients
> > > de faire du chat en plus du tarot. Tous les jeux font ca (enfin,
> > > total annihilation et starcraft, les deux jeux que je connais
> > > assez bien):
> > en
> > > plus de jouer en reseau, tu peux balancer un message aux autres.
> > > 
> > Oui, ca pourrai etre une fonction marrante. Le probleme est de
> > savoir se qu'on fait si 2 joueurs qui jouent ensemble se "parlent de
> > leur jeu"(par
> > se moyen ou par un autre). Comment les empecher de tricher ???
> > 
> > > En attendant, je propose deux methodes qui sont faisables:
> > > - soit on change le protocole pour rendre cela possible (style, on
> > > ajoute un gint qui est a zero pour le protocole actuel, et a 1
> > > pour le chat)
> > > - soit on fait un second serveur completement independant (tu
> > > aimes
> > les
> > > usines a gaz?), ce qui signifie 2 sockets par clients pour se
> > connecter
> > > au serveur.
> > > 
> > > Je suis partisan du 1, mais je sais que le 2 est plus rapide a
> > > faire,
> > et
> > > plus facile aussi. Je suis partisan du 1 parce que le 2 n'est rien
> > > d'autre que le demarrage d'une usine a gaz. Au passage, notons que
> > > le
> > 2
> > > n'est rien d'autre que le sujet de mon article des briques en C
> > > dans
> > le
> > > linuxmag de juillet.
> > > 
> > moi je crois que je suis plus partisant du 2. Je pense que le chat
> > n'a rien a faire dans le protocole du jeu de tarot. Comme le jeu et
> > le chat sont 2 choses deconnectees, ca me parait plus logique
> > d'avoir un canal bien distinct pour chaque choses (ca evitera les
> > spaghettis dans le protocole). Enfin le 2 veut aussi dire des
> > threads dans le client, donc le code n'est pas evident non plus.
> > 
> > Enfin, je n'aime pas trop les usines a gaz, donc pour l'instant pour
> > faire du chat il y a l'IRC...
> > 
> > > 
> > > 
> > > Autre point de discussion: il faudrait faire une TODO list avec
> > > les choses a faire avant de pouvoir annoncer maitertarot. Je
> > > voudrais
> > cette
> > > TODO list la plus petite possible bien sur ;-)
> > > Je la commence:
> > > - ajouter les annonces dans le protocole (un gint devrait suffire
> > > au
> > bon
> > > endroit)
> > > - Pas oblige de gerer ces annonces pour l'instant: le client
> > > envoie zero, et le serveur lit le gint mais ignore sa valeur. On
> > > pourra faire ca par la suite.
> > oui, c'est faisable.
> > 
> > > - ajouter un systeme de verification des annonces: un joueur
> > > annoncant la poignee doit dire au serveur quels atouts montrer aux
> > > autres
> > clients.
> > > La, le protocole doit etre exhaustif sur les annonces et les
> > > verifications. Mais je crois qu'il n'y a pas un boulot enorme.
> > > - Ce systeme de verification peut etre implemente mais ignore de
> > chaque
> > > cote au debut. On pourra l'implementer par la suite.
> > un truc rigolo avec les annonces, c'est que le nombre de cartes a
> > montrer est variable (-> envoi du nb de carte a montrer, envoi des
> > cartes a montrer).
> > 
> > > - ajouter au protocole un "voulez-vous rejouer?". Cela necessite
> > > un choix quand un client refuse et que les autres acceptent.
> > > - je pense qu'il faut implementer le "voulez-vous rejouer" et le
> > tester.
> > oui, ce ne doit pas etre trop dur a faire.
> > 
> > > - Que fait le serveur (et les clients) si un client se deconnecte
> > > en cours de partie?
> > euh, pour l'instant il segfault et les clients aussi :)
> > il faut vraiment implementer qq chose pour corriger ca (dans net.c
> > de libmaitretarot ?)
> > 
> > il faudra aussi gerer les pb de deconnection intempestive et voir
> > si le client peut se reconnecter.
> > 
> > > 
> > > 
> > > Si j'ai rien oublie, on devrait pouvoir annoncer un maitretarot et
> > > un client fonctionnels, meme si on n'est meme pas en phase beta de
> > > developpement. 
> > > 
> > oui, on peut commencer a le rendre public, meme s'il reste du boulot
> > a faire pour les nouveaux clients/IA (lib_maitretarot_client ?)
> > 
> > 
> > Philippe
> > 
> > -- 
> > ,-------------------.        
> > ,---------------,----------------------.
> > | Philippe Brochard |   ...   | address@hidden | http://hocwp.free.fr
> > | |
> > `------------------(_  (. .) 
> > `---------------'----------------------'-------------------ooO--(_)
> > --Ooo--------------------------------------
> > 
> > _______________________________________________
> > Maitretarot-devel-fr mailing list
> > address@hidden
> > http://mail.freesoftware.fsf.org/mailman/listinfo/maitretarot-devel-fr
> > 
> >  
> > ___________________________________________________________________
> > ___________ ifrance.com, l'email gratuit le plus complet de
> > l'Internet ! vos emails depuis un navigateur, en POP3, sur Minitel,
> > sur le WAP... http://www.ifrance.com/_reloc/email.emailif
> > 
> > 
> > 
> > _______________________________________________
> > Maitretarot-devel-fr mailing list
> > address@hidden
> > http://mail.freesoftware.fsf.org/mailman/listinfo/maitretarot-devel-fr
> > 
> > 
> 
> -- 
> ,-------------------.         ,---------------,----------------------.
> | Philippe Brochard |   ...   | address@hidden | http://hocwp.free.fr |
> `------------------(_  (. .)  `---------------'----------------------'
> -------------------ooO--(_)--Ooo--------------------------------------
> 
> _______________________________________________
> Maitretarot-devel-fr mailing list
> address@hidden
> http://mail.freesoftware.fsf.org/mailman/listinfo/maitretarot-devel-fr


-- 
- Homepage - http://ymettier.free.fr                   -
- GPG key  - http://ymettier.free.fr/gpg.txt           -
- MyAM     - http://www.freesoftware.fsf.org/myam      -
- GTKtalog - http://www.freesoftware.fsf.org/gtktalog  -




reply via email to

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