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

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

Re: [Maitretarot-devel-fr] interface de demarrage.


From: philippe brochard
Subject: Re: [Maitretarot-devel-fr] interface de demarrage.
Date: 02 Oct 2002 11:03:51 +0200
User-agent: Gnus/5.09 (Gnus v5.9.0) Emacs/21.2

Yves Mettier <address@hidden> writes:

> On 01 Oct 2002 23:57:17 +0200
> philippe brochard <address@hidden> wrote:
> 
> > Yves Mettier <address@hidden> writes:
> > 
> > > On 01 Oct 2002 19:39:32 +0200
> > > philippe brochard <address@hidden> wrote:
> > > 
> > > > 
> > > > Coucou,
> > > > 
> > > > bon apres mure reflexion, je pense que la partie
> > > > connexion n'a rien a faire dans le client gtk (ni dans
> > > > les autres clients, ni dans l'IA, ni dans le serveur,
> > > > d'ailleurs).
> > > > 
> > > > Il faut qu'on fasse une interface independante qui lance
> > > > le serveur, les IA et les clients et qui cache les details
> > > > des operations.
> > > 
> > > Euh, pas tout a fait d'accord. Explication plus bas.
> > > 
> > > > Cette interface pourra presenter les 2 niveaux de jeux que
> > > > Yves as defini :
> > > > 
> > > >    Jeux seul : le serveur + 3 IA + le client Gtk pour jouer.
> > > >         (tout ca sur la meme machine et sans donner le detail
> > > >         du host/port, nom...)
> > > 
> > > La, y'a pas d'interface du tout. Donc le client gtk doit etre
> > > capable de lancer maitretarot s'il n'est pas deja lance, et 3 IA.
> > > Tout ca doit etre invisible pour l'utilisateur qui doit croire
> > > qu'il n'y a qu'un seul programme.
> > > C'est en cela que je ne suis pas d'accord avec toi.
> > > 
> > 
> > Avec le principe de l'interface, l'utilisateur se trouve d'abord
> > devant une fenetre avec les 2 boutons :
> > 
> >         jeu seul
> > 
> >         jeu en reseau
> > 
> > s'il click sur jeu seul, alors on lance le serveur, les 3 IA et le
> > client gtk (sans rien lui demande). Je ne vois pas comment il peut
> > savoir que c'est un autre programme qu'on lance. Pour lui la fenetre
> > de lancement sera simplement une fenetre d'accueil (ou on revient en
> > fin de partie apres la deconnexion).
> 
> oui
> 
> > 
> > c'est seulement dans le cas de la partie en reseau qu'il pourra se
> > rendre compte qu'on lance separement les clients et les IA (et
> > encore, puisque la aussi tout est masque par des boutons a cocher).
> 
> oui
> 
> > 
> > C'est en gros et de tres loin, la comparaison entre l'interface du
> > Gimp(plusieurs fenetres separees) et celle de photoshop (une seul
> > fenetre qui reuni tout).
> > Je prefere l'interface du Gimp car elle est beaucoup plus modulaire
> > et souple.
> 
> ah.
> Jamais vu photoshop en fait, moi.
> 
euh, moi non plus, c'est juste un exemple pour dire que sous
Gimp tu as une fenetre par tache, alors que sous Photoshop
(et les application Windows en generale) tu as une seule 
fenetre qui gere tout.

> DOnc notre desaccord du mail precedent vient que je ne suis pas sur
> qu'on s'est bien compris sur un point quand on fait une partie 1
> joueur contre 3 IA. Dans ce cas, on a bien juste le client qui lance
> directement maitretarot et les 3 IA. On n'a pas le programme
> intermediaire qui sert de front-end graphique a maitretarot.
> 
moi, je suis tout a fait d'accord sur le fait que pour le jeu
seul il faut eviter le passage par la connexion (choix de host/
port) et choix des IA a lancer. Il faut que ce soit le plus
simple possible : click sur "Jeu Seul" -> debut de partie avec
maitretarot + 3 IA lances automatiquement.

la ou nos point de vue diverge, c'est que moi je ne vois pas
la partie click sur "Jeu Seul" dans le client gtk en particulier,
pour moi c'est une autre application qui doit proposer ce choix
(voir plus bas).

> > 
> > 
> > > >    Jeux en reseau : le serveur (s'il y a lieu) + des IA +
> > > >         1 ou des clients (avec le detail : quelle IA, quel
> > > >         port/host, quel client ...).
> > > 
> > > Oui.
> > > 
> > > > les IA et les clients n'etant la que pour jouer une partie
> > > > (plusieurs donnes mais toujours avec les memes gens connectes)
> > > > 
> > > > 
> > > > En fait, cette interface remplacera les scripts que j'ai inclus
> > > > dans le client Gtk et qui n'ont rien a faire la.
> > > 
> > > Non, completer
> > > Tes scripts sont toujours necessaires pour deboguer dans certains
> > > cas!
> > > 
> > > > Donc, si je suit cette logique, il reste a enlever le menu
> > > > Start Programs du client, la page de login (host+port+nom)
> > > > et attaquer directement sur une partie. La connection ayant
> > > > deja ete geree par une autre application.
> > > 
> > > oui!
> > > 
> > on vire Start Programs du client : c'est le memu qui permet 
> > de lancer le serveur et les IA, pas seulement Advanced Start
> > (mes scripts)
> > Le client n'a pas a gerer la demande de connexion, ni a
> > savoir quoi lancer (le serveur et d'autre IA), c'est a une
> > application au dessus du serveur, des IA et des clients de
> > s'en charger -> l'interface d'accueil de l'utilisateur.
> 
> Mmmmh, y'a effectivement desaccord, la.
> Pour moi, quand y'a 1 joueur et 3 IA, mt_gtk_client est capable de
> lancer maitretarot et 3 IA.

pour moi, c'est l'interface qui est capable de lancer le serveur,
3 IA et mt_gtk_client devant lequel l'utilisateur se retrouve
pour jouer seul.

> C'est un choix possible, et le tien en est un autre possible.
> Mais je crois que c'est plus simple de faire un simple fork+exec pour
> maitretarot et les 3 IA que de faire un fork+exec d'une interface qui
> elle va faire le fork+exec pour maitretarot et les 3 IA.
> 
en fait, l'utilisateur ne lancera pas mt_gtk_client mais plutot
un programme tarot (interface) et c'est ce programme tarot qui
se chargera de lancer le serveur les IA et le client.
Donc le fork+exec se trouve dans l'interface et non dans le client,
(les 2 methodes sont aussi simples)

bon, je vais faire un schema pour clarifier les choses :)

la version avec la connexion dans le client :

                    mt_gtk_client (gestion des exec)
                     |   |  |
                     |   |  |
                     /   |   \
                serveur  |    3 IA
                         |
                         |
                   debut du jeu

ici, tous se gere avec mt_gtk_client. autrement dit, tout
les autres clients devront aussi gerer les exec (le client
ncurses...) -> tu refait le meme schema pour le client
ncurses, le client a Toto ...


la version avec l'interface :

                    interface (gestion des exec)
                     |   |  |
                     |   |  |
                     /   |   \
                serveur  |    3 IA
                         |
                         |
                   mt_gtk_client (ou un autre)
                         |
                         |
                    debut du jeu

ici, l'utilisateur se trouve d'abord devant l'interface,
puis devant mt_gtk_client lorsqu'il doit jouer.


La 2eme methode permet de decentraliser la gestion des
exec, autrement dit, ce n'est pas aux clients de gere
les exec. Le code des clients correspond au code des IA,
c'est a dire faire une partie. Ceci permet d'ecrire qu'une
fois la gestion des exec, et de lancer n'importe quel client/IA.
de meme pour le fichier de configuration pour les lignes de
commande qui sera centraliser dans l'interface et non un fichier
de config par client (au moins pour les lignes de commandes).

voila, moi je prefere la 2eme methode parce que je la trouve
plus souple et plus facile a ettendre (le code sera ecrit
1 fois et ne sera pas a reecrire pour chaque client)



Philippe

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




reply via email to

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