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

C# Discussion :

Comment réaliser un jeu d'échec ?


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    102
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 102
    Par défaut Comment réaliser un jeu d'échec ?
    bonjour a tous,

    j'aimerai realise un jeux d'echec en utilisant l'algo minmax mais je ne sais pas qoi prendre comme fonctions d'estimation et comment je vais construire l'arbre et aplique l'algo de minmax merci d'avoir m'aidee

  2. #2
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Et donc en fait quelle est précisément ta question ?

  3. #3
    Membre éclairé Avatar de ZaaN
    Inscrit en
    Novembre 2005
    Messages
    819
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 819
    Par défaut
    peut etre dans le forum algorithme.... réponse toi trouver :-)

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Avant de chercher un algo pour l'IA, je te conseille de faire le jeu et de faire les fonctions de contrôle des mouvements pour vérifier que le joueur ne fait pas n'importe quoi.

    J'y avais réfléchis avec un pote, et on en avait conclu que ce n'était pas si évident que cela de le faire.

  5. #5
    Membre Expert Avatar de sisqo60
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Février 2006
    Messages
    754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Indre et Loire (Centre)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 754
    Par défaut pareil
    un moteur d'echecs c'est pas du tout ce qu'il y a de plus simple, mais pour y avoir méditer tres longtemps, je te donne les idées que j'ai eues mais je pense qu'elles sont loin d'etre tres tres efficaces...

    pour résumer, tu calcule tous les coups possibles et imaginables tout en restant légaux et tu crée une hierarchie en fonction des pièces par exemple sous forme de tableaux, arbres, matrices mais ce dernier est tres compliqué etc...(il faut mettre un controle de redondance des déplacements...), tu calcule ensuite le coup qui a le plus grand nombre de victoires en statistiques et tu choisis ce coup...J'ai commencé et je ne l'ai jamais terminé, donc je te souhaite du courage, c'est pas un petit projet...

  6. #6
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    salut

    cela dit, question Algo... on en trouve plein sur le net....

    Effectivement, l'algo le plus souvent cité est celui de l'arbre decisionnel...

    En gros, tu évalues tous les coups du Joueur A, puis à partir de tous ces coups possibles, tu évalues les coups du Joueur B...; etc...; evidemment, tu te retrouves vite avec beaucoup de possibilités... Suivant le "niveau" de l'IA souhaité, tu fais 3/4/5....12 itérations de ta boucle de coups possibles...

    Après, tu analyses chaque branche en pondérant selon des règles que tu auras définis et qui te diront : Tel situation vaut "plus" cher qu'une autre, etc...

    Bien sur, lors de la création de ton arbre, tu peux "élaguer" les branches dès que celle ci ne semble pas pertinente (cela diminuera le nombre de branche)

    Une fois que tu as trouvé la branche la plus "forte"... tu considères que c'est celle ci qui représente le coup à jouer... et tu le joues...

    L'adversaire joue... et re évaluation de tous les coups etc...

    A ta place, je suivrais le conseil de Ced600 concernant déja l'environnement
    de jeu...

    Après, je ne trouve pas que la gestion du déplacement des pièces soient quelque chose de compliqué... Chaque pièce ayant ses règles de déplacement, il faut "juste" vérifier que le déplacement est légal... et qu'aucune situation d'échec pour le joueur jouant n'est occasionné par le déplacement de sa pièce...

    Bon courage en tout cas...

    The Monz, Toulouse

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/04/2008, 07h56
  2. msi ou comment réaliser un installeur?
    Par herzleid dans le forum Delphi
    Réponses: 11
    Dernier message: 09/04/2007, 19h27
  3. [DBGrid avec Cumul]Comment réaliser un cumul dans un DBGrid
    Par Eric SAULNIER dans le forum Bases de données
    Réponses: 2
    Dernier message: 21/07/2004, 17h56
  4. Comment réaliser des modèles de documentations avec XML ?
    Par Dams76 dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 29/08/2003, 02h15

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