Interface "projet COO 2012"
MÃ J 25/11/12
Deux interfaces à peu près détaillées ont été proposées. Vous pouvez choisir l'une d'entre elles au choix:
- [[/docs/InterfaceRogue.zip Interface 1]]
- [[/docs/ProtocoleCommunicationRogue.pdf Interface 2]]
- Une [[/docs/BaseProjetsRMI.zip mise à jour]] de l'interface RMI est maintenant disponible, ainsi qu'une [[/docs/interfaceCOO.zip seconde option]]
Cette page contient les décisions prises sur l'interface entre les parties "moteur" et "ihm" du projet de COO M1 2012.
Elle est destinée à être enrichie des commentaires et suggestions qui nous parviendront! Merci donc de l'étudier attentivement et à intervalles rapprochés, et de nous transmettre vos suggestions, remarques et détails d'implémentation ; nous attendons en particulier
- le détail du protocole de communication entre les deux parties (sockets?)
- la syntaxe des échanges
- toute information manquante
Simplifications
- discrétisation de l'environnement: un niveau peut être vu comme une matrice de cases (libre à la partie "IHM" de définir des couloirs - indolores! - entre les pièces)
- chaque objet occupe une case
- on considère que le mouvement d'une créature sur une case déjà occupée par une autre équivaut à un début de combat
Echanges
IHM -> Moteur
Une fois / parfois
- Inscription (login, mdp souhaité), identification (login, mdp), chargement / sauvegarde
- Ajout / modification / suppression d'un objet : contient le type de l'objet ainsi qu'une liste de couples "attribut / valeur" (strings)
A chaque tour
- transmission du contexte (décisions prises par le joueur,...). Ce contexte est une action utilisateur ainsi qu'une liste éventuelle d'objets (par exemple décision de prendre telle arme en main)
Moteur -> IHM
Une fois / parfois
- Informations géographiques (par exemple, nouveau niveau)
- Données de sauvegarde (liste des parties détenues par le joueur)
- Descriptions des classes et niveaux possibles
A chaque tour
- Actions et état des PNJ , état du joueur
Principaux objets
Objet
- contient les coordonnées (0,0 = coin inférieur gauche de la carte du niveau)
- principaux types : monstres, mobilier, potions, armes, trappes/escaliers ...
Action
- liée à 1 acteur (joueur ou PNJ)
- principaux types : déplacement, attaque, mort, changement d'équipement
- déplacement : nouvelles coordonnées
- attaque = déplacement
- changement d'équipement :
- où (MG=main gauche, MD = main droite, P=pieds, T=tête, PG=poignet gauche, PD=poignet droit, C=ceinture)
- quoi (rien=retrait). Les potions modifient une des caractéristiques du niveau en + ou en - (poisons), cf ci-dessous
- prise / dépôt : objet(s) concerné(s)
PNJ
- hp (points de vie)
- liée à un niveau
Niveau
- hp max
- attaque, défense
- vitesse
- rayon de visibilité