Programmation du Jeu des Dames Chinoises
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-39%
Le deal à ne pas rater :
Pack Home Cinéma Magnat Monitor : Ampli DENON AVR-X2800H, Enceinte ...
1190 € 1950 €
Voir le deal

IA - Choix des pions pouvant être déplacés

2 participants

Aller en bas

IA - Choix des pions pouvant être déplacés Empty IA - Choix des pions pouvant être déplacés

Message par Kerigwenn Mar 20 Nov - 1:54

bonsoir

J'ai une fonction qui permet de sélectionner un certain nombre de pions déplaçables pour un joueur et un état de jeu donné. Je pense que vous pouvez l'utiliser comme une "boîte noire" dans vos programmations papier ou informatiques.

Description:
ChoixPionsDeplacables( int joueur, int Plateau[17][25], int nbrepions )

..donc les données sont le joueur (1 ou -1), le plateau et le nombre voulu de pions à choisir nbrepions, que je n'ai pas fixé.

Résultat:
Un tableau de structure, de type PION: Pionschoisis[nbrepions]. Il donne la liste des différents pions déplaçables, étant indexé de 0 à nbrepions-1.

Rappel: la structure PION comprend les variables ligne, colonne, et joueur.
En sortie de la fonction, on n'a donc aucune idée des déplacements unitaires possibles que le pion peut effectuer, même s'ils ont été testés.

Dernier problème: Sarah me dira que le mieux est l'ennemi du bien. J'ai un soucis de symétrie car au lieu d'écrire deux fois le programme avec une condition selon le joueur, j'aurais aimé tout faire en une fois, avec un paramètre "joueur" 1 ou -1. Ca marcherait pour les cases et le stockage des données dans Pionschoisis, mais pas popur les boucles FOR: on doit parcourir Plateau[l][c] dans deux sens différents (selon le joueur) et je n'arrive pas à interchanger l++ et l--...
Bon, ok, c'est pas important vu qu'on devrait avoir tout le temps joueur =-1 (IA faite pour l'ordi normalement).
Kerigwenn
Kerigwenn

Nombre de messages : 99
Localisation : ...sur ma chaise.
Date d'inscription : 18/10/2007

Revenir en haut Aller en bas

IA - Choix des pions pouvant être déplacés Empty Re: IA - Choix des pions pouvant être déplacés

Message par Kerigwenn Mar 20 Nov - 21:08

La fonction a été réécrite (en fait l'autre existe toujours, on sait jamais, c'en est maintenant une deuxième). Elle cherche les nbrepions pions de la CPU déplaçables pour un état donné de jeu.

Description:
ChoixPionsDeplacablesCPU( int Plateau[17][25], int nbrepions)

Elle renvoie toujours le même type de résultat.
Kerigwenn
Kerigwenn

Nombre de messages : 99
Localisation : ...sur ma chaise.
Date d'inscription : 18/10/2007

Revenir en haut Aller en bas

IA - Choix des pions pouvant être déplacés Empty Re: IA - Choix des pions pouvant être déplacés

Message par Kerigwenn Mar 20 Nov - 21:09

int ChoixPionsDeplacablesCPU( int Plateau[17][25], int nbrepions)
{
PION Pionschoisis[nbrepions];
int cpt=0, l=0, c=0;
while(cpt<nbrepions)
{
for(l=0;l<=24;l++) //On parcourt le plateau depuis la première ligne
{
for(c=0;c<17;c++)
{
if( Plateau[l][c]==joueur) //Quand on apperçoit un pion appartenant au CPU
{
if(Plateau[l][c-2]==0 || Plateau[l][c+2]==0) //Déplacement simple possible à gauche ou à droite
{
Pionschoisis[cpt].ligne=l;
Pionschoisis[cpt].colonne=c;
Pionschoisis[cpt].joueur=joueur;
cpt++;
}
if(Plateau[l+1][c-1]==0 || Plateau[l+1][c+1]==0) //Déplacement simple possible à gauche ou droite en diagonale
{
Pionschoisis[cpt].ligne=l;
Pionschoisis[cpt].colonne=c;
Pionschoisis[cpt].joueur=joueur;
cpt++;
}
if(Plateau[l][c-4]==0 || Plateau[l][c+4]==0) //Saut possible à gaucge ou à droite
{
Pionschoisis[cpt].ligne=l;
Pionschoisis[cpt].colonne=c;
Pionschoisis[cpt].joueur=joueur;
cpt++;
}
if(Plateau[l+2][c-2]==0 || Plateau[l+2][c+2]==0) //Saut possible à gaucge ou à droite en diagonale
{
Pionschoisis[cpt].ligne=l;
Pionschoisis[cpt].colonne=c;
Pionschoisis[cpt].joueur=joueur;
cpt++;
}
}
}
}
}

}
Kerigwenn
Kerigwenn

Nombre de messages : 99
Localisation : ...sur ma chaise.
Date d'inscription : 18/10/2007

Revenir en haut Aller en bas

IA - Choix des pions pouvant être déplacés Empty Re: IA - Choix des pions pouvant être déplacés

Message par Mellyra Mer 21 Nov - 9:46

fait gaffe t'as pas mis de return
Si tu ne retournes risn, comme tu la declares en int, envoie return EXIT_SUCCESS.
Mellyra
Mellyra
Admin

Nombre de messages : 118
Age : 37
Localisation : Dans mon lit ^^
Date d'inscription : 18/10/2007

https://dameschinoises.forumpro.fr

Revenir en haut Aller en bas

IA - Choix des pions pouvant être déplacés Empty Re: IA - Choix des pions pouvant être déplacés

Message par Kerigwenn Jeu 22 Nov - 23:00

La spécialiste de Code::Blocks, c'est toi.

Moi ce programme il m'énnerve, je sais jamais quoi mettre en type de fonctions et en return, et j'avoue que je manque de temps pour m'y intéresser.

J'essaie de faire un peu avancer le truc, mais apparement ça n'est pas correct. Désolé. La prochaine fois je me tairais au lieu de dire des bêtises.
Kerigwenn
Kerigwenn

Nombre de messages : 99
Localisation : ...sur ma chaise.
Date d'inscription : 18/10/2007

Revenir en haut Aller en bas

IA - Choix des pions pouvant être déplacés Empty Re: IA - Choix des pions pouvant être déplacés

Message par Mellyra Ven 23 Nov - 15:09

Pitié, Audrey, tu sais bien que ca n'avait rien de méchant!!
Ne le prends pas mal, stp... Je m'en voudrais si tu me fais la tete parce que mes conseils ressemblent a des reproches alors qu'ils n'en sont pas DU TOUT!!

N'hésite surtout pas a continuer de dire des betises Razz
Parce que tu penses a plein de trucs auxquels je ne penserait pas toute seule... Il ne faut jamais hesiter a dire des betises^^.


Si tu ne sais pas quoi mettre, je te conseille de les passer en "int" comme tu le fais, en rajoutant juste "return EXIT_SUCCESS;" ou "return 1;" à la fin.

Sinon, declare tes fonctions en "void"

Mais c'est pas très important, tu as raison, je peux le faire sans problème si tu n'en as pas envie Smile

C'est juste que quand tu m'envoies des fonctions, je suis trop impatiente de les essayer Wink !
Mellyra
Mellyra
Admin

Nombre de messages : 118
Age : 37
Localisation : Dans mon lit ^^
Date d'inscription : 18/10/2007

https://dameschinoises.forumpro.fr

Revenir en haut Aller en bas

IA - Choix des pions pouvant être déplacés Empty Re: IA - Choix des pions pouvant être déplacés

Message par Mellyra Ven 23 Nov - 15:10

Et puis si code:blocks t'énerve, tu peux faire EXACTEMENT les memes choses sous dev ou visual!

Travaille avec ton préféré! Wink
Mellyra
Mellyra
Admin

Nombre de messages : 118
Age : 37
Localisation : Dans mon lit ^^
Date d'inscription : 18/10/2007

https://dameschinoises.forumpro.fr

Revenir en haut Aller en bas

IA - Choix des pions pouvant être déplacés Empty Re: IA - Choix des pions pouvant être déplacés

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser