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 :

Aide pour conception d'une sorte de "jeu" :)


Sujet :

avec Java

  1. #1
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 103
    Points : 57
    Points
    57
    Par défaut Aide pour conception d'une sorte de "jeu" :)
    Bonjour,

    Bon en gros j 'ai une appli à développer mais je ne sais pas trop par où commencer ni comment faire et je pense que le langage java serait le plus approprié mais j en suis pas certaine ...
    le but de mon appli :
    en fait je dispose d'un damier où chaque case peut contenir un ou plusieurs éléments.
    l'idéal c 'est d'avoir des cases qui contiennent au moins n éléments (n est déterminés par l'utilisateur).
    si ce n'est pas le cas, l'idée est de fusionner la case avec des cases voisines de sorte à avoir nos n éléments réunis dans une seule "grosse" case.
    Il faudrait donc un algo qui détermine si les cases voisines contiennent des éléments (si ce n'est pas le cas, il faut sauter à la case suivante) et fusionner la case voisine avec la case de départ de sorte à créer une nouvelle "grosse" case.
    j'aimerais juste savoir si c'est réalisable en java et si qql aurait des idées de conception (au mieux des bout de codes ) juste pour m'aider à démarrer car je ne suis pas très douée en java !!

    merci beaucoup

  2. #2
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Points : 136
    Points
    136
    Par défaut
    Salut,

    En fait, avec si peu de détails, difficile de t'aider vraiment.
    A priori ça à l'air tout à fait réalisable en java, mais ce langage n'est pas forcément plus approprié qu'un autre. A part si tu as des contraintes ou des besoins particulier, pourquoi ne pas utiliser un langage que tu maitrises ?

    En ce qui concerne la conception il va falloir donner plus de détails sur le but de l'application, ses composants (damier, "éléments") et leurs caractéristiques...

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 103
    Points : 57
    Points
    57
    Par défaut
    les éléments correspondent à des points avec coordonnées x et y
    Au départ, je pars d'un jeu d'élément qui sont répartis dans un graphique en fonction de leur coordonnées x et y.
    ensuite on contruit une grille sur ce graphique. Toute cette première partie est déjà codé en Perl.

    Ensuite, le but principal de l'application est d'avoir des cases avec au moins n éléments dedans. le nombre n étant déterminé par l'utilsateur.
    Seulement toutes mes cases n'auront pas forcement les n elements. L 'idee est donc de fusionner la case qui n'a pas ses n éléments avec des cases voisines pour qu 'au final la "grosse" case issue de la fusion comporte au moins les n elements.

  4. #4
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Points : 136
    Points
    136
    Par défaut
    Je vois.
    Le plus délicat il me semble, c'est de modéliser la fusion des cases. L'implémentation va en grande partie dépendre de la structure de données utilisée pour la grille (matrice, liste d'adjacences...).
    As tu une contrainte à ce niveau là ?

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 103
    Points : 57
    Points
    57
    Par défaut
    il s'agit d une matrice construite via Perl mais faut que je vérifie ..

    l idée serait de récupérer chaque case comme objet java avec comme attribut ces coordonnées dans la grille de départ et une liste d'élément
    de pouvoir identifier les elements comme des objets aussi avec comme attribut leur coordonnées et leur case d'origine..
    mais apres je sais pas trop comment on pourrait "découper la grille" pour récupérer chaque case..
    ensuite reste toujours le problème de la fusion d'objet case

  6. #6
    Modérateur
    Avatar de dinobogan
    Homme Profil pro
    ingénieur
    Inscrit en
    Juin 2007
    Messages
    4 073
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations professionnelles :
    Activité : ingénieur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 4 073
    Points : 7 163
    Points
    7 163
    Par défaut
    C'est un problème d'algorithme, pas de langage.
    Commence par réfléchir avec une feuille et un crayon. Lorsque tous les problèmes d'algo seront résolu, tu pourras passer à l'implémentation avec le langage de ton choix, en l'occurrence Java.
    Ne te focalise pas sur des notions du langage cible. Parler objet Java maintenant est prématuré

  7. #7
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 103
    Points : 57
    Points
    57
    Par défaut
    oui je sais bien ! Il faut encore que je travaille mon algorithme, mais c'est juste que je m inquiétais de savoir si déjà c'était réalisable !

  8. #8
    Membre habitué
    Profil pro
    Étudiant
    Inscrit en
    Avril 2007
    Messages
    133
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2007
    Messages : 133
    Points : 149
    Points
    149
    Par défaut
    Tout est réalisable, ce n'est toujours qu'une question de temps et d'investissement.

    Mais selon ton problème, le langage Java ne sera peut-être pas le plus adapté, ce qui ne voudrait pas pour autant dire que Java ne convient pas.

  9. #9
    Membre habitué
    Homme Profil pro
    Inscrit en
    Juin 2009
    Messages
    112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2009
    Messages : 112
    Points : 136
    Points
    136
    Par défaut
    Une façon de faire (qui est juste une idée en passant) serait peut être de créer une matrice d'objets Case qui serait un composite.

    Pour commencer on aurait un objet Element contenant toutes les propriétés nécessaires.
    Ensuite on crée une hiérarchie d'objets Case de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public interface Case {
       public List<Element> getElements();
       public void addCase() throws Exception;
       public void deleteCase()  throws Exception;
       // eventuellement d'autres méthodes
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public class SimpleCase implements Case {
       private List<Element> elements;
     
       // des méthodes d'ajout et de suppression d'Eléments
     
       public List<Element> getElements() {
          //...
       }
     
       public void addCase throws Exception {
          // soulève une exception
       }
       // pareil pour deleteCase
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class FusionCase implements Case {
       private List<Case> cases;
     
       public List<Element> getElements() {
          // parcourt cases et concatène les listes d'Element de chaque Case
       }
     
       public void addCase() throws Exception{
          // ...
       }
    }
    Quand on veut fusionner plusieurs cases, on crée une FusionCase dans laquelle on ajoute les SimpleCase concernées, puis on remplace leur référence dans la matrice par la référence de la FusionCase.

    PS: Je suis d'accord avec dinobogan, mais il a répondu pendant que j'écrivais mon méssage. Donc ne te focalise pas trop sur le code, c'est juste pour te donner des pistes

  10. #10
    Membre du Club
    Inscrit en
    Juillet 2008
    Messages
    103
    Détails du profil
    Informations forums :
    Inscription : Juillet 2008
    Messages : 103
    Points : 57
    Points
    57
    Par défaut
    ok merci beaucoup tout le monde
    je mets l'idée de bigbear19 de coté!! elle est intéressante mais je vais d abord suivre vos conseils : mettre mes idées au clair sur papier!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] Aide pour conception d'une fenêtre
    Par Nixeus dans le forum Windows Presentation Foundation
    Réponses: 5
    Dernier message: 12/07/2012, 17h44
  2. un peu d'aide pour conception d'une partie admin
    Par zzozo32456 dans le forum ALM
    Réponses: 1
    Dernier message: 22/01/2011, 16h22
  3. [Entité-Association] aide pour conception d'une base de donnée
    Par WhiteTigerZ dans le forum Schéma
    Réponses: 1
    Dernier message: 29/07/2010, 09h31

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