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