Bonjour a Tous,
dans le cadre d'un projet de programmation d'un jeu d'othello j'utilise l'algorithme
alpha-beta.
En resumé j'ai :
1/ une fonction qui invite l'ordinateur
2/
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 . int inviter_ordinateur(liste d'arguments) . { . ... . nb_coup_possible = coup_possible(liste d'arguments); . for( i = 0; i < nb_coup_possible; i++) . { . coup = tab_coup[i]; . ... . for(prof = 1; ; prof++) /*approfondissement iteratif */ . { . ... . score = alphabeta(prof, &coup, plateau, ...) . ... . } . ... . } . ... . }.
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 int alphabeta(int prof,int *coup, int plateau[], ...) . { . ... . nb_pions_retournés = maj_damier(...); . nbr_coup_possible = coup_possible(liste d'arguments); . ... . if(nb_pions[BLANC] +nb_pions[NOIR]=64 || prof <= 0) . return eval(...); . ... . for(i = 0;i<nbr_coup_possible) . { . ... . score = - alphabeta(prof - 1 , &coup, plateau , ... - alpha , - beta); . ... . } . ... . }
En fait mon probleme est que :
jusqu'a return eval tout va bien mais apres, au lieu de revenir directement vers
la fontion inviter_ordinateur(...), il continue dans alphabeta(..) comme si la fonction
appelante est alphabeta et non inviter_ordinateur.
si quelqu'un(e) peut m'expliquer pourquoi et comment faire pour que le retour se fasse
directement vers la fonction appelante.
je vous remercie amplement a l'avance.
![]()
Partager