Académique Documents
Professionnel Documents
Culture Documents
Session : 2013
[A COMPLETER]
Prsentation du projet
Le projet consiste raliser un logiciel de jeu du morpion en rseau. Le logiciel permettra un utilisateur de contacter par rseau un adversaire (excutant le mme logiciel), puis de jouer en temps-rel contre cet adversaire. Le logiciel montrera une vue graphique du plateau de jeu, et permettra une interaction la souris.
2
2.1
Expression du besoin
Description technique du projet
Un logiciel de jeu du morpion en rseau. Une documentation utilisateur (format HTML) du logiciel.
Il sagit de raliser :
Le logiciel sera crit en Python et donc portable sur tout systme dexploitation possdant linterprteur Python version minimale 2.6.x. Ce logiciel fonctionnera en invoquant linterprteur python en ligne de commande. Le logiciel offre la possibilit de dmarrer soit en serveur (= attente dadversaire) soit en client (= contacter un adversaire en attente dadversaire). Lorsquune partie est commence, chaque joueur joue son coup laide de la souris en cliquant sur la case de son choix. Les rgles du morpion sont les suivantes : Le joueur qui commence est le client Chaque joueur joue tour de rle (le temps de rflexion nest pas gr) Le gagnant est le 1er aligner 5 pions (horizontal, vertical, diagonal)
2.2
Architecture du logiciel
[A COMPLETER]
2.2.1
Fonction LireParametreLigneDeCommande() Entre : Sortie : Mode = client ou serveur Adresse = adresse IP du serveur contacter (si mode client)
[A COMPLETER]
2.2.2
Fonction ConnecterReseau() Entre : Sortie : Descripteur de liaison rseau Mode = client ou serveur ouvert Adresse = adresse IP du serveur contacter (si mode client) Fonctionnement : Si mode client, tablit la connexion TCP avec le serveur distant Si mode serveur, se met en coute et en attente bloquante dun client distant.
2.2.3
Fonctionnement : Prpare lenvironnement graphique en utilisant la librairie pygame 2.2.4 Fonction InitialiserPlateau() Entre : Sortie : Structure de donnes reprsentant ltat courant du jeu (mes pions, pions adverses, qui de jouer, etc.)
Fonctionnement : Prpare la structure de donnes et linitialise au dbut du jeu. 2.2.5 Fonction DessinerPlateau() Entre : Sortie : Descripteur dcran graphique Etat courant du jeu Fonctionnement : Redessine compltement ltat du jeu sur lcran graphique. 2.2.6 Fonction AttendreCoup() Entre : Sortie : Case joue (x,y) Descripteur dcran graphique Etat courant du jeu Fonctionnement : Attend que lutilisateur clique avec la souris sur lcran pour signifier je joue ici , dtermine la case correspondante du plateau, et retourne cette case. 2.2.7 Fonction AttendreCoupReseau() Entre : Sortie : Case joue (x,y) Descripteur rseau Fonctionnement : Attend que ladversaire envoie par rseau la case joue, et retourne cette case. Le protocole de communication est inventer.
[A COMPLETER]
2.2.8
Fonction JouerCoup() Entre : Sortie : Case jouer (x,y) Etat courant du jeu Fonctionnement : Place un nouveau pion (ami ou adverse) en (x,y) sur le plateau
2.2.9
Fonction PartieFinie() Entre : Sortie : Vrai ou Faux Etat courant du jeu Fonctionnement : Vrifie si un alignement de 5 pions est prsent ou si le plateau de jeu est plein. Si oui, retourne Vrai et le numro du joueur gagnant (ou un numro indiquant match nul si le plateau est plein). Si non, retourne Faux
3
3.1
FAIT
Le projet dbutera par : Une identification des solutions techniques retenir pour la conception dtaille Une identification des outils de dveloppement et de test ncessaires
3.2
3.3
Les livrables du projet, fournir sur CDROM, sont : Un fichier morpion.py pour le logiciel Une documentation utilisateur (manuel dutilisation) au format HTML
[A COMPLETER]
Total des heures consacres au projet = 16 semaines * 2 heures hebdomadaires projet = 32 heures Remise des sujets de projet Vacances dhiver Revue N1 Vacances de printemps Revue N2 Remise des dossiers et des livrables
Travaux en commun
Analyse du problme, recherche de solutions techniques Spcifications dtailles des fonctions (paramtres, valeur de retour) Intgration Analyse des rsultats InitialiserPlateau() JouerCoup() PartieFinie() LireParametreLigneDeCommande() Programme principal InitialiserEcran() DessinerPlateau() AttendreCoup() ConnecterReseau() AttendreCoupReseau()
[A COMPLETER]
6
6.1
Pendant le droulement du projet, chaque lve doit tenir jour un compte-rendu dactivit selon le modle suivant : Date
6.2
Rapport
Le rapport final du projet, support de lvaluation, nexcdera pas 10 pages et devra contenir dans lordre suivant : 1. Rappel du cahier des charges 2. Architecture logicielle et rpartition du travail par tudiant 3. Algorithmes importants et leur codage 4. Tests unitaires et tests dintgration 5. Analyse des performances 6. Conclusion
6.3
Interrogation orale
Structure de l'preuve
Dure : 20 minutes maximum Coefficient : 2 Note sur 20 points la date fixe par le professeur charg de l'enseignement d'informatique et sciences du numrique, le candidat se prsente l'entretien muni de son dossier-projet. Celui-ci sert uniquement de support l'preuve et n'est pas valu en tant que tel. L'preuve est compose de deux parties qui se droulent conscutivement.