public IActionResult AlphaBetaA(string stringArray, int depth, Player player, int PlayerScore, int EqualScore, int CompScore) { char[][] array = StringToChar2D(stringArray); Node s = new Node(); s.niz = CopyRow(array); s.h = Heuristic(s.niz); List <object> result = alphabet(s, depth, int.MinValue, int.MaxValue, player); s = (Node)result[1]; s.h = Heuristic(s.niz); if (IsLeaf(s)) { player = (player == (Player)0 ? (Player)1 : (Player)0); if (s.h == 1000 && player == (Player)1) { PlayerScore++; } else if (s.h == -1000 && player == (Player)1) { CompScore++; } else if (s.h == 1000 && player == (Player)0) { CompScore++; } else if (s.h == -1000 && player == (Player)0) { PlayerScore++; } else { EqualScore++; } } AlphaBetaVM VM = new AlphaBetaVM() { array = Char2Dto1D(CopyRow(s.niz)), player = player, heuristic = s.h, isLeaf = (IsLeaf(s) ? "true": "false"), depth = depth, playerScore = PlayerScore, compScore = CompScore, equalScore = EqualScore, depths = new List <SelectListItem>() { new SelectListItem { Text = "Too Easy (1)", Value = "1" }, new SelectListItem { Text = "Easy (2)", Value = "2" }, new SelectListItem { Text = "Simple (3)", Value = "3" }, new SelectListItem { Text = "Medium (4)", Value = "4" }, new SelectListItem { Text = "Harder (5)", Value = "5" }, new SelectListItem { Text = "Hard (6)", Value = "6" }, new SelectListItem { Text = "Very difficult (7)", Value = "7" }, new SelectListItem { Text = "Extreme (8)", Value = "8" }, new SelectListItem { Text = "Impossible (9)", Value = "8" } } }; return(PartialView("AlphaBetaA", VM)); }
public IActionResult Index(int Depth, Player player = (Player)0, int PlayerScore = 0, int EqualScore = 0, int CompScore = 0) { //char[] array; //if (HumanOnMove) //{ char [] array = new char[9] { '0', '0', '0', '0', '0', '0', '0', '0', '0' }; Node s = new Node(); if (player == (Player)1) { char[][] Array = new char[3][]; Array[0] = new char[3] { '0', '0', '0' }; Array[1] = new char[3] { '0', '0', '0' }; Array[2] = new char[3] { '0', '0', '0' }; s.niz = CopyRow(Array); s.h = Heuristic(s.niz); List <object> result = alphabet(s, Depth, int.MinValue, int.MaxValue, (Player)1); s = (Node)result[1]; s.h = Heuristic(s.niz); int brojac = 0; for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { array[brojac++] = s.niz[i][j]; } } } AlphaBetaVM VM = new AlphaBetaVM() { array = array, depth = Depth, player = player, isLeaf = "false", playerScore = PlayerScore, compScore = CompScore, equalScore = EqualScore, depths = new List <SelectListItem>() { new SelectListItem { Text = "Too Easy (1)", Value = "1" }, new SelectListItem { Text = "Easy (2)", Value = "2" }, new SelectListItem { Text = "Simple (3)", Value = "3" }, new SelectListItem { Text = "Medium (4)", Value = "4" }, new SelectListItem { Text = "Harder (5)", Value = "5" }, new SelectListItem { Text = "Hard (6)", Value = "6" }, new SelectListItem { Text = "Very difficult (7)", Value = "7" }, new SelectListItem { Text = "Extreme (8)", Value = "8" }, new SelectListItem { Text = "Impossible (9)", Value = "8" } } }; return(View(VM)); }