User Tools

Site Tools


rx:projet-2014

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rx:projet-2014 [2014/04/01 14:37] orelrx:projet-2014 [2024/03/18 15:06] (current) – external edit 127.0.0.1
Line 2: Line 2:
  
 __Encadrant__ : Ouattara Dramane __Encadrant__ : Ouattara Dramane
 +
 +__Date limite__ : dimanche 4 mai 2014
  
  
 ==Présentation== ==Présentation==
  
-Il s'agira de réaliser un jeu du pendu basique en réseau en s'appuyant sur les sockets TCP/IP en mode connecté. Le travail consistera à définir un protocole de couche applicatif pour permettre un dialogue entre le client et le serveur. Ce mini-projet sera développé en groupe de 4 étudiants aux maximum.+Il s'agira de réaliser un //jeu du pendu// basique en réseau en s'appuyant sur les sockets TCP/IP en mode connecté. Le travail consistera à définir un protocole de couche applicatif pour permettre un dialogue entre le client et le serveur. Ce mini-projet sera développé en groupe de 4 étudiants aux maximum.
  
 ==Principe du jeu== ==Principe du jeu==
Line 14: Line 16:
 ==Illustration== ==Illustration==
  
-On prends l'exemple de deux joueurs qu'on va nommer joueur 1 et joueur 2+On prends l'exemple de deux joueurs qu'on va nommer joueur 1 et joueur 2 : 
- +  Le joueur 1 souhaite jouer une nouvelle partie avec le joueur 2. 
-  – Le joueur 1 souhaite jouer une nouvelle partie avec le joueur 2. +  Le joueur 1 fait alors une demande de connexion et une demande pour jouer une partie. 
-  – Le joueur 1 fait alors une demande de connexion et une demande pour jouer une partie. +  Si la demande est acceptée, le joueur 2 fabrique le mot à découvrir. Les lettres composant le mot sont remplacées par des tirets sauf pour la première et la dernière lettre et ce mot est envoyé au joueur 1 qui doit deviner les lettres manquantes. 
-  – Si la demande est acceptée, le joueur 2 fabrique le mot à découvrir. Les lettres composant le mot sont remplacées par des tirets sauf pour la première et la dernière lettre et ce mot est envoyé au joueur 1 qui doit deviner les lettres manquantes. +  Le joueur 1 propose une lettre. Si la lettre proposée fait partie du mot, le joueur 2 l'inscrit à sa place autant de fois qu'elle se trouve dans le mot. Sinon, le joueur 2 dessine le premier trait du pendu et cela constitue un coup joué et perdu. 
-  – Le joueur 1 propose une lettre. Si la lettre proposée fait partie du mot, le joueur 2 l'inscrit à sa place autant de fois qu'elle se trouve dans le mot. Sinon, le joueur 2 dessine le premier trait du pendu et cela constitue un coup joué et perdu. +  Le jeu se poursuit jusqu'à ce que :
-  – Le jeu se poursuit jusqu'à ce que :+
     * Le joueur 1 gagne la partie en trouvant toutes les lettres dumot en les devinant correctement. Le joueur 2 demande alors au joueur 1 s'il souhaite jouer une nouvelle partie. Si oui, le jeu reprends avec un nouveau mot, sinon le joueur 1 est déconnecté.     * Le joueur 1 gagne la partie en trouvant toutes les lettres dumot en les devinant correctement. Le joueur 2 demande alors au joueur 1 s'il souhaite jouer une nouvelle partie. Si oui, le jeu reprends avec un nouveau mot, sinon le joueur 1 est déconnecté.
     * Le joueur 1 perd la partie parce que le nombre de coups joués et perdu est égal au nombre de coups maximum pour découvrir le mot.     * Le joueur 1 perd la partie parce que le nombre de coups joués et perdu est égal au nombre de coups maximum pour découvrir le mot.
     * Le joueur 1 abandonne la partie en envoyant un mot clé exemple « ABANDON » au joueur 2 et la partie est arrêtée (Le joueur 1 est déconnecté).     * Le joueur 1 abandonne la partie en envoyant un mot clé exemple « ABANDON » au joueur 2 et la partie est arrêtée (Le joueur 1 est déconnecté).
  
 +== Réalisation==
 +
 +Le projet sera codé en C++. Afin de vous aider, le module socket {{:rx:socket.tgz}} (étudié lors du TP6) vous est fourni. Il vous permet facilement de créer un serveur ou un client TCP et d'échanger des messages entre ces derniers. Les fichiers //server.cpp// et //client.cpp//  vous aideront à comprendre le fonctionnement de la classe socket et la manière de l'utiliser. Il n’est nécessaire de modifier que la fonction //work()// pour le client et le serveur.
 +
 +Il est également demandé d'écrire un petit rapport de quelques pages détaillant votre travail et comment utiliser votre programme (compilation, exécution d'une démo).
  
 +Le rapport et le code source (sous forme d'une archive zip) doit être envoyé par email à douattar@labri.fr avant la date limite, avec accusé de réception en précisant n'oubliant pas d'indiquer les NOMs et PRÉNOMs des membres du groupe.
rx/projet-2014.1396363078.txt.gz · Last modified: 2024/03/18 15:05 (external edit)