IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

avec Java Discussion :

Squelette d'un programme


Sujet :

avec Java

  1. #1
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut Squelette d'un programme
    Bonjour,
    j'aimerai creer le squelette d'un programme qui réalise un labyrinthe parfait.
    J'ai pensé à ça :

    une class labyrinthe
    une sous-classe pièce
    et deux classes héritées mur et porte.

    Pensez-vous à d'autre class ?

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Points : 909
    Points
    909
    Par défaut
    Ça dépend de ce que tu comptes faire...

    Est-ce que ton but est de générer un labyrinthe, ou d'offrir un jeu avec parcours ? Dans le deuxième cas on pourrait imaginer une classe "Personnage"(/"position"/"joueur"/etc) qui représente au moins la position courante du joueur dans le labyrinthe... plus toutes les classes d'affichage (fenêtres, menus, etc...) mais ça déborde de la modélisation du labyrinthe

    Comment vois-tu ton labyrinthe ? comme un quadrillage de cases ou comme un quadrillage de murs (plus compliqué...) ?
    On peut définir un labyrinthe comme un quadrillage 2D de cases, chaque case possédant 4 parois qui peuvent chacune être un mur (traversable=false) ou une porte (traversable=true), et donc finalement le labyrinthe est entièrement défini par un tableau de booléens à trois dimensions...

    Est-il vraiment nécessaire d'avoir une classe pour les "parois", dérivée en "mur" et en "porte" ? Avec la modélisation proposée ci-dessus, ça semble inutile, sauf peut-être si tu comptes faire un super affichage en 3D avec des textures différentes pour chaque paroi, ce qui pourrait justifier la création d'un objet spécifique pour chaque (et encore...). Il faut que les classes aient une raison d'exister, qu'elles représentent des objets ayant des comportements particuliers : que fait le mur ? que fait la porte ?
    Il ne suffit pas de lister des "classes" envisageables il faut aussi que tu réfléchisses aux interactions entre ces classes, aux méthodes et aux propriétés proposées par chaque objet modélisé, bref que tu définisses un vrai diagramme de classes.

  3. #3
    Candidat au Club
    Inscrit en
    Février 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour la rapidité de ta réponse !
    Mon but pour le moment est juste la création du labyrinthe et je compte le modéliser avec des pièces ce type :

    ###
    # #
    ###

    les dièses rouges correspondent aux possibles portes.
    Le labyrinthe serait un ensemble de pièces et chaque pièce auraient un mur en commun. C'est pourquoi je t'ai présenté un diagramme de ce type. Qu'en penses-tu ?

Discussions similaires

  1. Squelette de programme pour un chat
    Par SheikYerbouti dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 09/10/2008, 16h12
  2. Programme de boot qui passe la main à Windows
    Par Bob dans le forum Assembleur
    Réponses: 7
    Dernier message: 25/11/2002, 03h08
  3. [Kylix] Probleme d'execution de programmes...
    Par yopziggy dans le forum EDI
    Réponses: 19
    Dernier message: 03/05/2002, 14h50
  4. communication entre programmes
    Par jérôme dans le forum C
    Réponses: 12
    Dernier message: 16/04/2002, 08h05
  5. [Kylix] icone associée à un programme
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo