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 :

Modélisation de pieces de jeu


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut Modélisation de pieces de jeu
    Bonjour a tous.
    Je souhaité crée une version informatique du jeu Blokus.

    J'ai déja quasiment toutes la conception du logiciel sur papier.

    Par contre , je bloque sur un point.
    La répresentation des pieces.

    En effet les pieces sont toutes différentes et cela ne ma facilite pas la tache.
    Je pense donc pour modeliser les pieces a une classe Piece qui contiendrai en autre un tableau représentant la position des carrés de la piece par rapport a un carrée de référence.


    Exemple :
    La piece est la suivante :

    Le carré de réference est celui en haut de la colone(avec le point rouge).
    La tableau de la piece serait:
    {(0;0),(0;-1),(0;-2),(1;-2),(2;-2)}


    Est ce une bonne idée ?

    Merci.
    Images attachées Images attachées  
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12
    Par défaut
    Bonjour,

    je ne connais pas le jeu Blokus, donc je risque de répondre un peu à côté; je m'en excuse d'avance...

    Bref, j'ai eu l'occasion de coder un truc similaire qui se rapproche du katamino. En gros tu as des pieces 2D que tu veux poser dans un support qui en contient déja.
    La question est: comment représenter les pièces 2D pour vérifier de manière efficace quelles s'emboitent ou se superposent ?
    Mon expérience à montré qu'une simple matrice de bit (donc tableaud'entiers) était la solution la plus efficace. Du coup quelques "et" sont suffisants pour vérifier si tu peux ou pas emboiter ta pièce.
    L'autre avantage est que les symétries et rotations sont très faciles à calculer.

    Ton exemple donne: { 4, 4, 7 }

    NB: si tu as des pièces grosses tu peux utiliser gmp.
    ++

  3. #3
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Tout d'abort ,merci de ton aide.
    Ensuite pour connaitre blokus : Wikipedia

    Pour l'histoire de la matrice , tu me conforte dans mon idée de départ mais ne vois pas ce que réprésente le tableau {4 4 7}.

    Enfin pour les transformation matriciel ,quelqu'un pourrait me donner son cours de maths ? Merci.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12
    Par défaut
    4 en binaire donne 100
    donc ça fait une matrice:
    100
    100
    111

    l'avantage est qu'avec des décallages et des "et" binaires tu peux vérifier si tu peux ajouter une pièce ou pas. Du point de vue du temps de calcul c'est vraiment très intéressant.

  5. #5
    Rédacteur

    Avatar de Davidbrcz
    Homme Profil pro
    Ing Supaéro - Doctorant ONERA
    Inscrit en
    Juin 2006
    Messages
    2 307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ing Supaéro - Doctorant ONERA

    Informations forums :
    Inscription : Juin 2006
    Messages : 2 307
    Par défaut
    Je ne savais pas que 4 en binaire équivalait a 100.
    Ah bas oui ca prend tout son sens.

    Il ne me reste plus qua trouve un moyen de manipuler des tableaux de bit en C++.
    Sinon je suis bon pour les tableau d'int.
    "Never use brute force in fighting an exponential." (Andrei Alexandrescu)

    Mes articles dont Conseils divers sur le C++
    Une très bonne doc sur le C++ (en) Why linux is better (fr)

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12
    Par défaut
    tu risques d'avoir besoin de grand entier. La librairie gmp (http://gmplib.org/) est faite pour ça.

    pour les opération sur les bits c'est là: http://gmplib.org/manual/Integer-Log...-Fiddling.html
    http://gmplib.org/manual/Low_002dlevel-Functions.html

Discussions similaires

  1. [Projet terminé] Pieces Nightmare - Jeu expressioniste
    Par Ivady dans le forum Projets
    Réponses: 39
    Dernier message: 04/09/2011, 01h00
  2. [OO-Conception] Moteur de jeu:comment assembler ses pieces?
    Par bachir006 dans le forum Moteurs de jeux vidéo
    Réponses: 4
    Dernier message: 13/08/2010, 10h51
  3. [Diagramme de classe] Modélisation d'un jeu de trains
    Par Ikki_2504 dans le forum Débuter
    Réponses: 5
    Dernier message: 03/02/2010, 23h10
  4. modélisation jeu d'échecs
    Par KindPlayer dans le forum C
    Réponses: 2
    Dernier message: 29/06/2008, 12h04

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