BUT3JeuR5.5/MiniMax.java

52 lines
968 B
Java
Raw Normal View History

2024-09-12 11:44:22 +02:00
public class MiniMax {
/*
Variable donnant le nombre d'allumettes au départ du jeu
*/
public static int depart = 5;
public static void main(String[] args) {
System.out.println(Nim(depart));
}
/*
Fonction de démarrage du jeu, donner un nombre d'allumettes de démarrage
*/
public static int Nim(int n){
return exploreMax(n);
}
/*
Vérifie les issues des coups jouables par le J1 et renvoie 1 si le J1 a une opportunité de gagner a coup sur
*/
public static int exploreMax(int allumette) {
for (int i=0;allumette>1&&i<3;i++){
allumette--;
int v=exploreMin(allumette);
if (v==1){
return v;
}
}
return -1;
}
/*
Vérifie les issues possibles des coups du J2 et renvoie -1 si le J2 a une opportunité de gagner a coup sur
*/
public static int exploreMin(int allumette){
for (int i=0;allumette>1&&i<3;i++){
allumette--;
int v=exploreMax(allumette);
if (v==-1){
return v;
}
}
return 1;
}
}