Jeu d'echecs windows avec ia (+exe)

Soyez le premier à donner votre avis sur cette source.

Vue 13 811 fois - Téléchargée 1 792 fois

Description

Jeu d'echec tournant sous Windows, avec IA (niveau de l'IA reglable dans le fichier game.c, voir MakeAutoMove())
Bon pour le moment, seul l'alpha beta a été implementé (qui permet quand même une profondeur permettant de battre la plupart des joueurs moyens!).
la fonction d'evaluation du jeu est aussi assez nulle pour l'instant (tient seulement compte des possessions materielles).
ca avance bien tout de même, le jeu est plutôt agréable. Essayez et dites moi!

Source / Exemple :


// Tout dans le zip (sources + exe)

Conclusion :


Compilez avec VC++ 6 et il devrait pas y avoir de pb.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
12
Date d'inscription
lundi 1 mai 2006
Statut
Membre
Dernière intervention
22 mai 2006

Pas mal du tout ! Je l'ai aussi mis mat mais il a répliqué "...Dxb2 les blancs sont échecs et mat!" ;o))

Très bon début (après avoir passé 3 mois pour un jeu de dames correct je sais que c pas facile), pour la suite (dans l'ordre):

- rajoute les roques (et les prises en passant?! pas essayé, mais ce n'y est probablement pas non plus)
- mets une meilleure fonction d'évaluation (www.france-echecs.com par exemple pour demander à une bande d'allumés passant leur temps derrière leur échiquier ce qu'ils en pensent ;o))
- améliore l'alpha-beta si ce n'est pas déjà fait (nullMove, poursuite de l'evaluation en cas de promotion, évaluation statique sans prises possible..etc)
- ajoute la nulle par répétition (3 fois la meme situation, meme joueur au trait) et par 50 coups (50 coups [1 coup=coup blanc+coup noir] sans prise ni déplacement de pion = nulle)

D'ici là j'espère que mon IA d'échecs sera aussi sur pattes :-)
Messages postés
255
Date d'inscription
samedi 20 avril 2002
Statut
Membre
Dernière intervention
16 janvier 2007

Je viens de battre ton jeu d'échecs (belle partie) mais il se présente un bug. Alors qu'il se trouve en 'échec et mat', il se permet de poursuivre la partie. Je suis assez content de ton petit programme et j'aurais voulu t'aider à discerner ce bug.
J'ai une capture d'écran pour prouver cette prétention
contacte-moi snakeee@free.fr pour l'obtenir ++
Messages postés
1
Date d'inscription
mardi 26 juillet 2005
Statut
Membre
Dernière intervention
20 septembre 2005

Hello,
j'ai eu plusieurs fois le même problème qu'Archaoniro.
dans le code, il y a :
// C'est a l'ordinateur de jouer
if(game.state !CHESS_MATE && game.cur_color BLACK)
{
// Calcul du coup que va jouer l'ordinateur
GetBestMove(&best_move, &game, BLACK, 3, 3);
...

Avant de calculer son meilleur coup,le prog vérifie qu'il n'est pas en "echec et mat" mais ne fait pas de traitement particulier s'il est en "simple echec". Dès lors, chaque fois qu'il est mis en echec, il trouve plus interressant de mettre l'adversaire en "echec et mat" (quand il le peut). J'ai pas encore eu trop le temps de regarder comment résoudre le prob mais si je trouve, je te prévient.

A part ça, chapeau bas pour ce joli prog.
Messages postés
1
Date d'inscription
jeudi 23 juin 2005
Statut
Membre
Dernière intervention
14 septembre 2005

Hello...

Le jeu est bien fait, j'essaie de débuter en C++ et pour l'instant je ne sais rien faire côté graphisme, mouvement, son.. rien en mdr. Donc bravo pour ce jeu.

par contre, je n'écrivais pas pour ça à la base, mais plutôt pour signaler une erreur de taille.
J'ai mit échec et mat le roi noir, mais le jeu ne l'a pas prit en compte, le noir a pû jouer à nouveau et m'as mit échec et mat... Le jeu vérifie-t'il si il peut mettre le joueur mat avant de vérifier si l'IA est mat ? A voir lol. Sinon encore bravo
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
36
j'avais testé ton jeu il y a longtemps et je me suis apercu, je ne sais plus si c'était dans les prises en passant ou dans les roques mais il y avait des petits problèmes de légalitée des coups...

Sinon, ton ia est pas mal, masi sans lesroques, c'est un peu plus des échecs...

Sinon, quand je regarde ta façon de jouer, en général, les IAs ne sont pas assez conne pour se prendre un berger...
Tu dois commencer par prendre le centre puis te déveloper...
Je te donnes un ex d'ouverture pas trop mal :
e4
Cc3
Cc6
F... (tu peux faire b5 masi c pas terrible ou e2 ou encore d3...)
O-O
puis d4 pour sortir l'autre fou...
On commence par sortir les pièces moyennes puis ensuite on roque, on sort les dèrnières petites pièces, puis on mets les deux tours sur la même ligne en mettant la dame sur une colone ouverte si possible...

(ça fait bcp à mettre dans une eval fonction...)
Afficher les 18 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.