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

Algorithmes et structures de données Discussion :

Cubik game, le départ


Sujet :

Algorithmes et structures de données

  1. #1
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut Cubik game, le départ
    Bonjour,

    Je cherche a faire un ptit ribik game comme : http://images.google.fr/images?hl=fr&q=rubik&btnG=Recherche+Google&sa=N&tab=wi

    Mais en fait je n'ai pas d'idée de comment m'ii prendre, j'aurais besoin d'un coup d'aide svp


    Je programme en C++ sous OpenGL

    Merci d'avance

  2. #2
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    mais en fait je n'ai pas d'idée de comment m'ii prendre
    Tout simplement par le début :

    - Représentation en mémoire du cube : la classe, les méthodes, ...
    - Affichage basique du rubik cube sous OpenGl.

    Ensuite une fois que tu as ceci, il faudrait que tu nous précise ce qu'il t'interresse, comme par exemple la résolution du cube.

  3. #3
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut
    Oui merci, pour l'affichage et tout ce qui concerne OpenGL il y a aucun probleme. Donc pour la programmation, il me faut juste une structure? Mais je met quoi dedans, je veu dire c'est la que je bloque, j'ai besoin d'une formule a peu pres

  4. #4
    Membre actif Avatar de Betatesteur
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Points : 248
    Points
    248
    Par défaut
    tout bonnement par le début. un crayon et une feuille. tu représentes la structure générale.
    tu fais tes uses cases
    de là tu le découpes en sous structures
    tu montes tes scenarii
    tu fais le cahiers des charges
    tu fais les diagrammes de class (uml)
    tu fais tes spec fonctionnelles et techniques
    tu fais l'algo
    PUIS TU CODES
    tu test ( partie recette)
    tu valides
    eh hop, nescafé capuccino
    Le monde du DevLOpPEUR....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    En train, il admire le scrolling du paysage..
    Il rédige ses chèques en héxadécimal..
    Sa dernière pensée avant de s'endormir est "shutdown completed"...

  5. #5
    Membre confirmé
    Profil pro
    Directeur Scientifique
    Inscrit en
    Avril 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Points : 554
    Points
    554
    Par défaut
    Citation Envoyé par Betatesteur
    tu fais l'algo
    Je pense que c'est justement là le problème! (Si j'avais plus de temps, je ferais une parenthèse sur le nombre d'informaticiens qui ignorent la difficulté qu'il y a à trouver un algorithme... Même si une large majorité des développement en informatique requiert quasiment pas d'algo.

    Pour le rubics cube, il existe plein d'algorithmes. Si tu connais une méthode systématique pour le résoudre à la main et que tu sais la programmer, c'est un algo, tu devrais donc être capable de la traduire en code.

    Sinon, tu en trouveras sur internet (wikipedia est un bon point de départ).

    Tu peux aussi chercher un moyen de résoudre le cube avec le moins de mouvements possibles. Il n'y a pas d'algo systématique, il faut alors faire de l'exploration dans un graphe d'états (les noeuds du graphes sont les états possibles du cube, il y a un arc si on peut passer d'un état à un autre par un mouvement). On peut utiliser du A* plus ou moins raffiner pour trouver un chemin qui mêne à l'état final (arrangé).

  6. #6
    Membre actif Avatar de Betatesteur
    Inscrit en
    Juillet 2003
    Messages
    210
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 210
    Points : 248
    Points
    248
    Par défaut
    le mal des dev c'est d'ignorer l'algo.
    Le monde du DevLOpPEUR....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    En train, il admire le scrolling du paysage..
    Il rédige ses chèques en héxadécimal..
    Sa dernière pensée avant de s'endormir est "shutdown completed"...

  7. #7
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Je pense que le premier problème de Happy, et peut-être le plus gros, est de représenter le cube.

    Le plus pratique pour l'affichage (et faire une animation pour les rotations) me semble d'utiliser 3*3*3 cubes élémentaires avec une couleur pour chaque face (ou pas pour les faces cachées) et une orientation. Ensuite il faut stocker tout ça, disons dans un tableau 3*3*3. Le point le plus critique va être la modélisation des transformations qui seront ici des rotations d'une tranche 3*3 du rubik, ce qui reste gérable.

    Une modélisation plus minimaliste pourrait se contanter de modéliser la surface du cube, c'est à dire 6 carrés de 3*3 couleurs. Mais l'affichage serait moins immédiat et les transformations me semblent alors "moches"(tm) à coder.

  8. #8
    Membre éclairé
    Avatar de Happy
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2005
    Messages
    665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : Autre

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2005
    Messages : 665
    Points : 875
    Points
    875
    Par défaut
    Mérci pour vos réponses! J'ai trouvé aussi une technique, aujourd'hui au cours d'anglais! Je vais la tester, et je vous la montre si ca marche

    a+

  9. #9
    Expert éminent
    Avatar de PRomu@ld
    Homme Profil pro
    Ingénieur de Recherche
    Inscrit en
    Avril 2005
    Messages
    4 155
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Ingénieur de Recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2005
    Messages : 4 155
    Points : 6 486
    Points
    6 486
    Par défaut
    Si tu connais une méthode systématique pour le résoudre à la main et que tu sais la programmer, c'est un algo, tu devrais donc être capable de la traduire en code.
    Encore faut-il prouver la méthode (pas de cas particuliers, ...)

    Si j'avais plus de temps, je ferais une parenthèse sur le nombre d'informaticiens qui ignorent la difficulté qu'il y a à trouver un algorithme... Même si une large majorité des développement en informatique requiert quasiment pas d'algo.
    Si je peux me permettre d'étendre un peu la parenthèse, je dirais deux choses : on(les programmeurs) utilisent des algorithmes tous les jours sans savoir leur preuve (en fait savoir s'ils marchent toujours) c'est un problème quelque fois (on utilise quelque chose qui avait marché tout le temps et on se retrouve avec un cas particulier qui fait que ça ne marche pas ...). La deuxième chose est que je pense même que certains ignorent presque totalement ce qu'est l'algorithmique, et la place prépondérante qu'elle a en informatique pratique.

  10. #10
    Membre confirmé
    Profil pro
    Directeur Scientifique
    Inscrit en
    Avril 2005
    Messages
    419
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur Scientifique

    Informations forums :
    Inscription : Avril 2005
    Messages : 419
    Points : 554
    Points
    554
    Par défaut
    Citation Envoyé par PRomu@ld
    Si je peux me permettre d'étendre un peu la parenthèse, je dirais deux choses : on(les programmeurs) utilisent des algorithmes tous les jours sans savoir leur preuve (en fait savoir s'ils marchent toujours) c'est un problème quelque fois (on utilise quelque chose qui avait marché tout le temps et on se retrouve avec un cas particulier qui fait que ça ne marche pas ...). La deuxième chose est que je pense même que certains ignorent presque totalement ce qu'est l'algorithmique, et la place prépondérante qu'elle a en informatique pratique.
    C'est vrai, on se retrouve dans le cas des architectes (voire ingénieurs) qui construisent des ponts mais qui ne savent pas (ou plus) pourquoi ils tiennent debout...

  11. #11
    Membre éprouvé
    Avatar de Sivrît
    Profil pro
    Inscrit en
    Février 2006
    Messages
    953
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Février 2006
    Messages : 953
    Points : 1 249
    Points
    1 249
    Par défaut
    Citation Envoyé par FrancisSourd
    C'est vrai, on se retrouve dans le cas des architectes (voire ingénieurs) qui construisent des ponts mais qui ne savent pas (ou plus) pourquoi ils tiennent debout...
    Je trouve ça super optimiste. Dans notre branche nos ponts s'écroulent et on ne sait pas pourquoi ... Et on trouve presque ça "normal" maintenant

  12. #12
    mat.M
    Invité(e)
    Par défaut
    Citation Envoyé par Betatesteur
    tu fais le cahiers des charges
    tu fais les diagrammes de class (uml)
    tu fais tes spec fonctionnelles et techniques
    tu fais l'algo
    .....
    Betatesteur tu crois pas que c'est un peu trop pour un simple simulateur de jeu de rubik's cube ?
    oui il faut partir avec un papier et un crayon mais de là à utiliser UML et faire un cahier des charges.....

    Pour répondre à Happy après cela tient du calcul matriciel et rotation en 3d mais selon un seul axe;
    il suffit d'afficher des primitives de rectangles mémorisées dans une matrice...

Discussions similaires

  1. Game design [Besoin d'aide, conseils....]
    Par poussinphp dans le forum Langage
    Réponses: 23
    Dernier message: 24/09/2005, 09h16
  2. Réponses: 13
    Dernier message: 13/09/2005, 09h41
  3. Réponses: 2
    Dernier message: 05/08/2005, 09h21
  4. 3D games creator
    Par SQUAL dans le forum DirectX
    Réponses: 2
    Dernier message: 21/02/2003, 17h44

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