public void counterMinMaxNew4() { ITavola tavola = new Tavola(); AbsAIPlayer p1 = new MinMax(4); IPlayer p2 = new HumanPlayer(); IGioco gioco = new Gioco(tavola); Bant bantumi = new Bant(gioco, p1, p2); int i = p1.Elaborazione(gioco); Assert.AreEqual(99569593, p1.OperationCount); }
public void counterMinMaxAlfaBeta3HVal() { ITavola tavola = new Tavola(); AbsAIPlayer p1 = new MinMaxAlphaBeta(3, new HeuristicFunctionValue(Lato.A)); IPlayer p2 = new HumanPlayer(); IGioco gioco = new Gioco(tavola); Bant bantumi = new Bant(gioco, p1, p2); int i = p1.Elaborazione(gioco); Assert.AreEqual(50387, p1.OperationCount); }
public void counterMinMaxAlfaBeta5() { ITavola tavola = new Tavola(); AbsAIPlayer p1 = new MinMaxAlphaBeta(5); IPlayer p2 = new HumanPlayer(); IGioco gioco = new Gioco(tavola); Bant bantumi = new Bant(gioco, p1, p2); int i = p1.Elaborazione(gioco); Assert.AreEqual(25298451, p1.OperationCount); }
public void counterMinMaxAlfaBeta5HAsc() { ITavola tavola = new Tavola(); AbsAIPlayer p1 = new MinMaxAlphaBeta(5, new HeuristicFunctionAscendent()); IPlayer p2 = new HumanPlayer(); IGioco gioco = new Gioco(tavola); Bant bantumi = new Bant(gioco, p1, p2); int i = p1.Elaborazione(gioco); Assert.AreEqual(81995855, p1.OperationCount); }
public void Muovi_Buca3_Result_4SemiBuca45E1InBuca6TurnoSuccessivoPC() { ITavola tavola = new Tavola(); IGioco gioco = new Gioco(tavola); gioco.Muovi(3); Assert.AreEqual(0, tavola.Buche[3].Semi); Assert.AreEqual(4, tavola.Buche[4].Semi); Assert.AreEqual(4, tavola.Buche[5].Semi); Assert.AreEqual(1, tavola.Buche[6].Semi); Assert.AreEqual(Lato.A, gioco.ProssimoTurno); }
public void Muovi_Buca0_Result_4SemiSemiBuca123TurnoSuccessivoNicola() { ITavola tavola = new Tavola(); IGioco gioco = new Gioco(tavola); gioco.Muovi(0); Assert.AreEqual(0, tavola.Buche[0].Semi); Assert.AreEqual(4, tavola.Buche[1].Semi); Assert.AreEqual(4, tavola.Buche[2].Semi); Assert.AreEqual(4, tavola.Buche[3].Semi); Assert.AreEqual(Lato.B, gioco.ProssimoTurno); }
public void Muovi_Buca3_12_Result_4SemiBuca45E1InBuca6TurnoSuccessivoPC() { ITavola tavola = new Tavola(); IGioco gioco = new Gioco(tavola); gioco.Muovi(4); gioco.Muovi(12); Assert.AreEqual(4, tavola.Buche[0].Semi); Assert.AreEqual(4, tavola.Buche[1].Semi); Assert.AreEqual(3, tavola.Buche[2].Semi); Assert.AreEqual(3, tavola.Buche[3].Semi); Assert.AreEqual(0, tavola.Buche[4].Semi); Assert.AreEqual(4, tavola.Buche[5].Semi); Assert.AreEqual(1, tavola.Buche[6].Semi); Assert.AreEqual(4, tavola.Buche[7].Semi); Assert.AreEqual(3, tavola.Buche[8].Semi); Assert.AreEqual(3, tavola.Buche[9].Semi); Assert.AreEqual(3, tavola.Buche[10].Semi); Assert.AreEqual(3, tavola.Buche[11].Semi); Assert.AreEqual(0, tavola.Buche[12].Semi); Assert.AreEqual(1, tavola.Buche[13].Semi); Assert.AreEqual(Lato.A, gioco.ProssimoTurno); }
static void Main(string[] args) { int vittorieA = 0; int vittorieB = 0; int parita = 0; //while (true) //{ ITavola tavola = new Tavola(); IPlayer p1 = new MinMaxAlphaBeta(4, new HeuristicFunctionValue(Lato.A)); IPlayer p2 = new MinMaxAlphaBetaWithOpen(4, new HeuristicFunctionValue(Lato.B)); //IPlayer p2 = new MinMaxPlayer(Convert.ToInt32(args[0])); IGioco gioco = new Gioco(tavola); Bant bantumi = new Bant(gioco, p1, p2); //gioco.Start(); Render(gioco.Tavola); Console.WriteLine("Muove Player" + gioco.ProssimoTurno); Thread.Sleep(sleepTime); while (gioco.Vincitore == null && !gioco.Parita) { IPlayer player = bantumi.GetPlayer(gioco.ProssimoTurno); if (player is HumanPlayer) { if (gioco.ProssimoTurno == Lato.A) { Console.WriteLine("Player" + Lato.A + " scegli una buca fra 0 e 5"); } else { Console.WriteLine("Player" + Lato.B + " scegli una buca fra 7 e 12"); } gioco.Muovi(ReadValue(gioco)); } else { if (player is IAIPlayer) { IAIPlayer aiPlayer = player as IAIPlayer; int i = aiPlayer.Elaborazione(gioco); Console.WriteLine("MUOVE" + i); gioco.Muovi(i); } } Render(gioco.Tavola); Thread.Sleep(sleepTime); } if (gioco.Parita) { Console.WriteLine("Parità"); parita++; } else { if (gioco.Vincitore == Lato.A.ToString()) { Console.WriteLine("Ha vinto Player" + gioco.Vincitore); Console.ReadLine(); //vittorieA++; } if (gioco.Vincitore == Lato.B.ToString()) { Console.WriteLine("Ha vinto Player" + gioco.Vincitore); Console.ReadLine(); //vittorieB++; } } //} }