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é