diff --git a/MiniMax.java b/MiniMax.java new file mode 100644 index 0000000..085aef6 --- /dev/null +++ b/MiniMax.java @@ -0,0 +1,52 @@ +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; + } + +} \ No newline at end of file