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

XNA/Monogame Discussion :

Developpement d'un jeu de Dames


Sujet :

XNA/Monogame

  1. #1
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Points : 43
    Points
    43
    Par défaut Developpement d'un jeu de Dames
    Bonjour,

    Je suis en train de faire un jeu de dame sous C# avec le framework XNA pour apprendre à développer un jeu.

    J'aimerais avoir des conseils sur la façon de procéder pour faire le déplacement d'un pion de case en case.

    Pour modéliser le pion j'utilise un Rectangle ou Vector2D. Mais comment vérifier que le joueur sélectionne tel ou tel pion ?

    Comment savoir sur quelle case se trouve le pion ? Et sur quel case est-il posé ?

    Merci d'avance pour vos réponses.

  2. #2
    Expert éminent sénior
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 352
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 352
    Points : 20 359
    Points
    20 359
    Par défaut
    salut c'est en 2d ou 3d ?
    en 2d pour savoir si le joueur a sélectionné un pion , il suffit de balayer une matrice de n x n cases ( je crois que c'est 9x9 pour les dames) et de voir si les coordonnées de la souris sont incluses dans une des cases
    Puis de voir si la case contient ou non un pion.
    Si elle contient un pion ensuite mettre un booléen de déplacement de pion à vrai
    Il faut alors voir si le joueur clique sur une autre case, qu'elle soit à vide et ainsi déplacer le pion sélectionné en regardant si le déplacement est possible
    En 3d il faut utiliser la technique du "picking"

  3. #3
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    26 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 827
    Points : 218 289
    Points
    218 289
    Billets dans le blog
    117
    Par défaut
    Bonjour,

    En théorie, vous devriez avoir une représentation "logique" (en mémoire) de votre damier. Cela se fait généralement à travers un tableau 2D, contenant autant de cases que le damier, où chaque case aura un entier, pour savoir si la case est vide, ou si c'est un pion blanc qui est dessus, ou un pion noir.

    À chaque fois que vous voulez vérifier la présence d'un pion dans une case donnée, il faut vérifier dans le tableau.
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  4. #4
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Points : 43
    Points
    43
    Par défaut
    Merci pour vos réponses

    Comment peut-on alors, déterminer sur quel pion, le joueur sélectionne ?

    A part vérifier la position de la souris et déterminer la case sélectionné en fonction de la taille du plateau, je ne vois pas. Mais cela me semble "assez" laborieux comme traitement.

    Existe t'il une autre méthode ?

  5. #5
    Invité
    Invité(e)
    Par défaut
    A part vérifier la position de la souris et déterminer la case sélectionné en fonction de la taille du plateau
    Moi j'aurais fais comme ça .
    Mais bon je ne vois pas ce qui est difficile, voici un bout de code qui devrai t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    MouseState mouseState = Mouse.GetState(); 
     
            if (mouseState.LeftButton == ButtonState.Pressed)
            {
                int x = Convert.ToInt32(ms.X) /16;
                int y = Convert.ToInt32(ms.Y) /16 +1;
     
            }
    16 est la taille de ta case. Ensuite tu peux utiliser ces coordonnées pour retrouver la case dans ton tableau.

  6. #6
    Membre du Club
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2011
    Messages
    47
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2011
    Messages : 47
    Points : 43
    Points
    43
    Par défaut
    Très bien.

    Disons que si je fait un jeu en 3D ISO (hauteur = largeur / 2 et une rotation de 45° sur le plateau), ca complique un peu plus le calcul de la position de la case ^^.

    Et comment faire pour d'autres jeu, si jamais nous avons des cases en L et non en carré ?

  7. #7
    Invité
    Invité(e)
    Par défaut
    Et comment faire pour d'autres jeu, si jamais nous avons des cases en L et non en carré ?
    Bah après ça dépend de comment tu implémentes ça. En faisant une méthode de "collision" avec la souris unique à chaque forme; ou alors en rentrant dans une liste des Rectangle en fonction de la forme, et des tester la "collision" avec la souris.

    Après comme dit ça dépend vraiment de comment tu vas gérer ton jeu.

Discussions similaires

  1. jeu de dame en c
    Par MALAKFATINE dans le forum Projets
    Réponses: 1
    Dernier message: 18/09/2006, 10h34
  2. créer jeu de dame en C
    Par SAMUELSalbert dans le forum C
    Réponses: 11
    Dernier message: 31/07/2006, 21h33
  3. Code source en c d'un jeu de dames
    Par ledawa dans le forum Développement 2D, 3D et Jeux
    Réponses: 33
    Dernier message: 22/05/2006, 09h54
  4. [Jeu de dames]Enregistrer les règles...
    Par progfou dans le forum Algorithmes et structures de données
    Réponses: 3
    Dernier message: 16/11/2005, 20h39
  5. probleme pour un jeu de dames en python
    Par doudou152 dans le forum Général Python
    Réponses: 7
    Dernier message: 22/04/2005, 15h53

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