Projet Algorithmique et Programmation : Wargame

Transcription

Projet Algorithmique et Programmation : Wargame
Date de présentation : 15/02/06
Projet Algorithmique
et Programmation :
Wargame
LU Christine
DOMINE Jean-Gaël
ANDRIAMANANTENA Roimemy
KAUFFMANN-TOURKESTANSKY Xavier
1
Introduction
Développement d’un wargame en langage C
Approfondissement de nos connaissances en
programmation et en algorithmique
Apprentissage de la gestion du temps et de la
répartition du travail en équipe
2
Introduction
Objectifs
Démarche
Responsables
Répartition des tâches
Développement
Architectures
Outils utilisés
Bilan technique
Serveur
Client
Travail effectué
Problèmes rencontrés
Perspectives
Conclusion
3
Objectifs
Démarche
Objectifs
Responsables
Répartition
des tâches
Développement
Architectures
Serveur
Client
Outils utilisés
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
Développer un wargame capable
de gérer jusqu’à 16 joueurs
Application basée sur une
architecture de type client/serveur
Conclusion
4
Objectifs
Démarche
Objectifs
Responsables
Répartition
des tâches
Développement
Architectures
Serveur
Client
Outils utilisés
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
Architecture
Client / Serveur :
système où deux
entités
communiquent
grâce à un
mécanisme très
simple de
requête/réponse
Conclusion
5
Objectifs
Démarche
Responsables
Répartition
des tâches
Responsables
Map (Xavier)
Définition du format et des caractéristiques de
la map
Règles du jeu (Roimemy)
Définition de l’ensemble des lois qui régissent
le jeu
Protocole réseau (Jean-Gaël)
Définition de l’ensemble et de l’ordre des
messages qui transitent entre le serveur et le
client
Développement
Architectures
Serveur
Client
Outils utilisés
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
Conclusion
6
Objectifs
Démarche
Répartition des tâches
Responsables
Répartition
des tâches
Développement
Jean-Gaël
Architectures
Serveur
Client
Outils utilisés
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
Serveur
Roimemy
Client
Christine
Xavier
Conclusion
7
Objectifs
Démarche
Architecture du serveur
Responsables
Répartition
des tâches
Développement
Architectures
Serveur
Client
Outils utilisés
Rôle
Stockage
des informations du jeu
Maps : map statique et map des
ressources
Etats des personnages
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
Transmission
des informations aux
joueurs
Conclusion
8
Objectifs
Démarche
Responsables
Répartition
des tâches
Architecture du serveur
Développement
Architectures
Serveur
Client
Outils utilisés
Fonctionnalités du serveur
Initialisation
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
envoi des maps, envoi de la liste des
joueurs
Gestion de l’ensemble des joueurs
Déplacement
Attaque
Soin
Gestion des ressources
Conclusion
9
Objectifs
Démarche
Architecture du serveur
Responsables
Répartition
des tâches
networkServer.h
Développement
Architectures
Serveur
Client
Outils utilisés
server.c
map.c
player.c mainServer.c
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
server.h
networkServer.o
server.o
map.o
player.o
mainServer.o
serveur
Conclusion
10
Objectifs
Démarche
Architecture du client
Responsables
Répartition
des tâches
Développement
Architectures
Serveur
Client
Outils utilisés
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
Requêtes d’action
Déplacement
Attaque
Réparation
des armes (guerrier)
Collecte des ressources
Transfert d’inventaire
Fabrication de flèches
Demande d’appartenance à une équipe
Conclusion
11
Objectifs
Démarche
Architecture du client
Responsables
Répartition
des tâches
Développement
Constante écoute sur le réseau
pour la réception de message dans
le but de rafraîchir l’affichage de la
map et des caractéristiques des
joueurs
Capture des touches et traitements
associés
Architectures
Serveur
Client
Outils utilisés
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
Conclusion
12
Objectifs
Démarche
Architecture du client
Responsables
Répartition
des tâches
Client.h
networkClient.h
Développement
Architectures
Serveur
Client
Outils utilisés
ihm.h
Client.c
ihm.c
mainClient.c
networkClient.o
Client.o
ihm.o
mainClient.o
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
networkClient.c
Client
Conclusion
13
Objectifs
Démarche
Responsables
Répartition
des tâches
Outils utilisés
Architectures
Serveur
Client
Outils utilisés
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
Utilisation de la Ncurses pour l’affichage
Ncurses : bibliothèque fournissant des
fonctions de définition de touches du
clavier, de couleurs d'écran et permettant
l'affichage de plusieurs fenêtres sans
recouvrement sur un terminal texte.
Développement
Conclusion
14
Objectifs
Démarche
Travail effectué
Responsables
Répartition des
tâches
Communication fonctionnelle entre client
et serveur
Via l’envoi de requêtes et de réponses
Développement
Architectures
Serveur
Client
Outils utilisés
Réception des maps statiques et des
ressources
Réception de la liste des joueurs connectés
Demande d’appartenance à une équipe et
ajout à la liste des joueurs
Déplacement du joueur
Bilan technique
Travail effectué
Problèmes
rencontrés
Perspectives
Conclusion
15
Objectifs
Démarche
Responsables
Répartition
des tâches
Problèmes rencontrés
Développement
Architectures
Serveur
Client
Outils utilisés
Trop grande complexité pour la gestion de
l’inventaire par le serveur
Difficultés concernant le tri des données
récupérées dans le buffer par le client
Anomalies au niveau de l’interface réseau
pour l’envoi et la réception de messages
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
Présence de quelques règles difficiles à
implanter
Reconnaissance des commandes impossibles
Problème aggravé lors du lancement simultané
de plusieurs clients
Conclusion
16
Objectifs
Démarche
Perspectives
Responsables
Répartition
des tâches
Développement
Architectures
Serveur
Client
Outils utilisés
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
Développement des fonctionnalités
restantes
Optimisation du code
… et que la bataille commence !
Conclusion
17
Objectifs
Démarche
Conclusion
Responsables
Répartition
des tâches
Développement
Au plan technique : usage des
connaissances acquises mais
également recherche de nouveaux
outils
Au plan humain : enrichissement
personnel
Architectures
Serveur
Client
Outils utilisés
Bilan technique
Travail
effectué
Problèmes
rencontrés
Perspectives
Travail
en équipe
Conclusion
18
« Si vis pacem,
pacem, para bellum...»
bellum...»
Questions?
19