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

SFML Discussion :

parchis représentation graphique sfml


Sujet :

SFML

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Février 2014
    Messages
    80
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2014
    Messages : 80
    Points : 46
    Points
    46
    Par défaut parchis représentation graphique sfml
    Bonjour,

    comment représenterez vous ce jeu(plateau) en sfml c'est à dire quel layout utiliserez vous svp ?On doit pouvoir cliquer sur chaque cases:

    Nom : pachi.png
Affichages : 174
Taille : 21,2 Ko


    la partie modèle j'ai représenter ce jeu avec un vector<pair<pion>> .

    vu que chaque case du plateau peut contenir 2 pions

    merci de m'aider svp.

  2. #2
    Membre averti
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2008
    Messages
    187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo

    Informations forums :
    Inscription : Octobre 2008
    Messages : 187
    Points : 448
    Points
    448
    Par défaut
    Pas facile, moi je vois 2 solutions possible:

    Soit en vectoriel : chaque case est encodée par une liste de 4 points qui représentent les coordonnées des coins de la case. Dans ce cas pour savoir dans quelle case se trouve un point, il faut parcourir toutes les cases, faire le produit vectoriel pour les 4 segments de la case et vérifier qu'il est positif.

    Soit avec une texture : chaque pixel encode un index de case (par exemple, (0, 0, 0) ne représente aucune case, (0, 0, 1) représente la case numéro 1 etc). Dans ce cas pour savoir si un point est dans une case, on regarde le pixel sous le point et ça nous donne son index.

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    Pourquoi ne pas découper le tableau en 4 parties qui définissent chaque couleur : un array pour le demi-cercle et les cases pour aller vers le centre, le centre étant une case particulière supplémentaire si besoin.
    Pour savoir où se trouvent tes pièces : stocke leur position (un couple couleur/index) dans la pièce. Si t'as besoin d'un accès aux pièces depuis la case, utilise un array<2, Piece*> dans ta structure de case.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    enum class Color { Blue, Green, Red, Yellow, None };
    struct Piece {
      Color color {Color::None};
      unsigned int index {(unsigned int)(-1)};
    };
    struct Case {
      std::array<2, Piece*> pieces {nullptr, nullptr};
    };
    struct PartieCouleur {
      std::array<XX, Case> cases;
    };
    struct Plateau {
      std::array<4, PartieCouleur> parties;
     
      static constexpr unsigned int BluePart = 0;
      static constexpr unsigned int GreenPart = 1;
      static constexpr unsigned int RedPart = 2;
      static constexpr unsigned int YellowPart = 3;
    };
    C'est assez grossier mais c'est l'idée.

    Pour pouvoir cliquer, ajoute des coordonnées à Case que tu remplies lors de l'initialisation par exemple.

    Tu peux aussi regarder et utiliser quelque chose comme Tiled http://www.mapeditor.org/
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

Discussions similaires

  1. représentation graphique avec ACCESS
    Par emma333 dans le forum Access
    Réponses: 2
    Dernier message: 02/03/2006, 11h27
  2. [ODBC] Affichage (représentation) graphique d'une base
    Par Atchoum_002 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 19/09/2005, 15h34
  3. Représentation graphique
    Par libititi dans le forum Composants VCL
    Réponses: 5
    Dernier message: 31/05/2005, 11h05
  4. [conseil logiciel] Représentation graphique d'une BDD
    Par ShinJava dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 27/02/2005, 08h41

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