示例#1
0
        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);
        }
示例#2
0
        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);
        }