Home
LE PENDU : Client-Serveur Détails d`implémentation et d`utilisation
Contents
1. LE PENDU Client Serveur D tails d impl mentation et d utilisation du service et de l application LE PAN AVAAN FALCONNE T ZIZAH MOHAMMED DETAILS D IMPLEMENTATION ET D UTILISATION DU SERVICE ET DE L APPLICATION LE PENDU CLIENT SERVEUR TP NOTE Introduction Principe du jeu du pendu un joueur J d tient un mot et l autre Joueur doit le deviner Pour ce faire il soumet des lettres une par une J qui place la lettre dans le mot si possible et leur indique le r sultat de ce placement Le joueur dispose d un maximum M de coups Jouer Dans notre application M 10 Vue g n rale ns Ea D X D DEC gt r ce pion fequ te 7 DETAILS D IMPLEMENTATION ET D UTILISATION DU SERVICE ET DE L APPLICATION LE PENDU II Impl mentation Le service et l application ont t cod en JAVA les ex cutables sont en jar Le service Le service dispose d une fen tre servant afficher le nombre de connexions au serveur Il dispose de 4 classes Authentification connexion du client s1 le serveur est complet 100 joueurs le joueur est d connect Enregistrement du pseudo et du r le souhait gestion des erreurs tant que le pseudo ou le r le n est pas accept on redemande Client r pertorie les clients qui se connectent avec succ s socket pseudo r le ete et permet d impl menter le ChoixAdversaire Cho
2. VAVAE TARG ONA S e Maitre Soumis DETAILS D IMPLEMENTATION ET D UTILISATION DU SERVICE ET DE L APPLICATION LE PENDU Figure 2 2 R le Maitre Le maitre est la personne qui propose le mot que l adversaire aura cherch plus tard L utilisateur valide sa proposition de mot Si la proposition est valide Au niveau du serveur le jeu continue normalement c est dire il donnera la possibilit son adversaire de proposer des lettres son tour Sinon l utilisateur sera amen ressaisir un autre mot Figure 2 3 BAZNI ZIZAH FALCONNET moot Valider Figure 2 3 R le Soumis Le soumis est la personne qui devine le mot propos par l adversaire Les _ correspondent au squelette du mot a devin La barre orange situ droite de la fen tre correspond au nombre de vies restantes au Joueur LE PAN AVANE TARONA DETAILS D IMPLEMENTATION ET D UTILISATION DU SERVICE ET DE L APPLICATION LE PENDU C ur du jeu C est la partie la plus importante du programme effectivement l change le plus int ressant est fait ce niveau l qui se d roule 1 Le client 1 re oit le squelette du mot a deviner Il propose une lettre depuis le clavier visuel 3 Sila proposition est juste la lettre sera gris e de mani re qu il ne puisse ressaisir la m me lettre une seconde fois Le squelette ainsi que la jauge de vie se mettront jour sur la fen tre des deux clients l
3. a fois 4 Le jeu prend fin dans deux cas pr cis soit quand le client 1 puise son nombre de vies ou bien quand il trouve le mot en entier Dans les deux cas chaque client re oit un message annon ant sa victoire ou sa d faite Client 1 Client 2 BEE ATIN VAVAE LE PANDU VAVAE ARCOD KARON Valider DETAILS D IMPLEMENTATION ET D UTILISATION DU SERVICE ET DE L APPLICATION LE PENDU O
4. chnique Lexique important Les types de variables les plus importantes e Les sockets servent communiquer entre deux h tes Client Serveur l aide d une adresse IP et d un port Ces sockets permettront de g rer des flux entrant et sortant afin d assurer une communication entre les deux le client et le serveur e BufferedReader cette classe permet de lire des caract res partir d un flux tamponn afin de faire des lectures plus rapides e __ InputStreamReader convertit un flux binaire en flux de caract res elle convertit un objet de type InputStream en objet de type Reader e PrintWriter la classe PrintWriter ajoute un flux la possibilit de faire des critures sous forme de texte des types primitifs Java et des cha nes de caract res 1 Tout d abord dans la classe main on d finit l adresse du host et le port 2 On cr e un Socket new Socket host port 3 Une fois que le login est valid on lance le thread principal Application e tl new Thread new Application socket login La classe application prend en param tre le socket cr au d part e Grace au PrintWriter on envoi le login tap au serveur via la fonction write puis il faut faire un flush indispensable qui force lancer les critures et vider le buffer e Le serveur re oit son tour le login gr ce au BufferedReader par la fonction readLine une instruction bloquante c est dire tant qu elle ne re oit pas de vale
5. ixAdversaire apr s la connexion le joueur passe en phase d attente Selon son r le 1l va rechercher en boucle un adversaire avec le r le compl mentaire Pendu c est l impl mentation du jeu en lui m me o l on va attendre qu un mot soit choisi par le joueur qui a le r le Choisir mot puis recevoir les propositions et envoyer les r ponses au joueur qui a le r le Deviner mot une copie de ce qui est r u et envoy au Joueur Deviner mot est retransmie au joueur Choisir mot afin qu il sache comment se d roule la partie DETAILS D IMPLEMENTATION ET D UTILISATION DU SERVICE ET DE L APPLICATION LE PENDU L application 1 Aspect g n ral Le sch ma ci dessous pr sente l appel des classes dans un ordre chronologique correspondant au d roulement du programme APPLICATION Authentification Client ChooseGame gt gt gt gt Classe contenant un JFRAME La classe Client Main V Stocker les attributs de connexion vV Lancer la Fen tre de connexion Login v V rifier le login a S 1l ne contient pas un b S il n est pas vide v Sile login est bon lancer la classe Application La classe Application v Lancer la Fen tre ChooseGame v Choisir un jeu v Lancer AuthentificationClient pour choisir un r le v Lancer la fen tre du r le choisi DETAILS D IMPLEMENTATION ET D UTILISATION DU SERVICE ET DE L APPLICATION LE PENDU 2 Aspect te
6. r la communication des deux parties avec le serveur Les deux threads utilisent des fonctions bloquantes readLine afin de recevoir la lettre puis l tat de la proposition On arr te les threads la fin du jeu c est dire soit si le joueur a pu deviner l int gralit des lettres soit il a puis ses vies En effet le but c est de communiquer aux deux joueurs l volution du jeu en temps r el c est dire leurs afficher selon l tat de la lettre propos le nouveau squelette du mot deviner Les diff rents tats sont e Proposition invalide e Proposition juste e Proposition fausse 1 Selon les crit res du serveur si la proposition est invalide l utilisateur sera amen ressaisir une nouvelle lettre Cette fonctionnalit est utile dans le cas o on impl mente le jeu en console en effet l utilisateur pourra saisir n importe quoi Une impl mentation graphique nous garantit que les lettres saisis par l utilisateur soient valident 11 Si la proposition est juste le serveur renvoi l emplacement de la lettre propos dans le mot a devin J ai cr un char proposition de longueur gale celle du mot deviner et initialis avec des Ce tableau est rempli au fur et mesure que l utilisateur donne des propositions exactes Ce tableau m a t pratique pour l affichage des r sultats en temps r el par exemple si le mot deviner tait exemple et l utilisateur
7. saisi la lettre e proposition ressemblera e e e i Si l utilisateur atteint ses points d erreurs 10 1l retournera vers la fen tre Application pour choisir un jeu tout en gardant son login de d part DETAILS D IMPLEMENTATION ET D UTILISATION DU SERVICE ET DE L APPLICATION LE PENDU IMI Le manuel d utilisation de l application Le service C t code Pour utiliser le service 1l faudra utiliser le port 55000 lors de la connexion de la socket et respecter le protocole donn en annexe C t jeu il faudra d abord d marrer le service puis l application La partie s ach ve lorsque le joueur a devin le mot adverse ou lorsque les 10 points d erreurs sont puis es L application Connexion L utilisateur saisi son login puis valide en cliquant sur connexion Figure 2 0 LE PANDU AVAAN FALCONNET Veuillez saisir votre Login monLogin Connexion Figure 2 0 DETAILS D IMPLEMENTATION ET D UTILISATION DU SERVICE ET DE L APPLICATION LE PENDU Choix du jeu L utilisateur est amen choisir un jeu parmi ceux propos ci dessous Pour l instant le jeu du pendu est le seul service qui fonctionne Figure 2 1 Le service de o Touch mise en relation Coul emon Y Morpion Bataille 4 PENDU Figure 2 1 Choix de r le Une fois le jeu est choisi l utilisateur est amen a d termin son r le Figure 2 2 LE PANDU
8. ur l instruction qui la suit ne sera pas ex cut Il existe notamment d autres fonctions de lecture comme readInt mais j a1 pr f r d utiliser readLine qui fonctionne pour tous types de data qu on re oit 4 Apres avoir choisis un jeu parmi la liste on ouvre un autre thread Authentification Client qui permet de choisir un r le Proposer un mot ou deviner le mot d j propos Une fois le thread ex cut dans le run on initialise le BufferedReader l inputStream et le printWriter 5 D s que l utilisateur choisi un r le je fais un switch case pour d terminer le r le attribuer puis je cr e un thread vers l interface ad quate i On initialize PrintWriter et BufferedReader ii Sila connexion avec le serveur est tablie avec succ s on attend que l adversaire soit connect via la commande bloquante BufferedReader GE DETAILS D IMPLEMENTATION ET D UTILISATION DU SERVICE ET DE L APPLICATION LE PENDU k readLine qui doit nous retourner un message qui varie selon le Protocol qui nous informe que l adversaire est bien connect ii L utilisateur propose un mot puis valide son choix 6 La derni re partie du programme est la plus int ressante analyser Effectivement ce niveau l le joueur sera amen proposer une lettre la fois puis attendre le retour du serveur La technique utilis e est la suivante On lance un thread dans le cot du joueur un et du joueur 2 pour assure
Download Pdf Manuals
Related Search
Related Contents
第10版 - 株式会社 ダイキアクシス journal 09-06 1 tipo propela bridado (mp) Zoologie - Ville de Genève Maxedia user manual What is Wireless M-BUS and STM solutions Untitled manual Le texte du livre au format PDF Copyright © All rights reserved.
Failed to retrieve file