public static Player SetNewPlayer(char sign, IIOManager myIO) { myIO.Notify($"Impostazioni per il giocatore {sign}"); myIO.LittleBreak(); var ia = myIO.AcceptBool("Il giocatore è controllato dal computer (s/n): ", false); var name = myIO.AcceptString("Nome del giocatore: ", $"Player {sign}"); myIO.LittleBreak(); var player = new Player(name, sign, ia); myIO.Notify($"Ok, generato giocatore {player}"); return(player); }
public static Move CalculateMove(IIOManager myIO, Board board, Player player) { var possibleMoves = PossibleMoves(board, player); // passo anche il giocatore perché calcolo il rating per ogni mossa relativamente a quel giocatore var maxRating = possibleMoves.Max(x => x.Rating); var bestMoves = possibleMoves.FindAll(x => x.Rating == maxRating); var chioicedMove = bestMoves.ElementAt(randomizer.Next(bestMoves.Count())); myIO.Notify($"{player} muove in {chioicedMove}."); myIO.LittleBreak(); myIO.Wait(); return(chioicedMove); }