public void PlayAndShow(ChessGame game) { var boardDrawer = new BoardDrawer(); var numberOfMoves = 0; while (game.MoveKnight()) { boardDrawer.Draw(game.Board, game.Knight.CurrentPosition); numberOfMoves++; Thread.Sleep(300); } Console.WriteLine(); Console.WriteLine($"Возможных ходов для коня больше нет. Конь походил {numberOfMoves} раз"); }
static void Main(string[] args) { var random = new Random(); var startPosition = new Point(random.Next(0, 8), random.Next(0, 8)); var knight = new Knight(startPosition); var consoleUi = new UserInterface(); IBestMoveFinder algorithm = new EvaluationFunction(); var game = new ChessGame(knight, algorithm); consoleUi.PlayAndShow(game); Console.WriteLine("Это был алгоритм, использующий функцию оценки."); Console.WriteLine("Нажмите на любую клавишу 2 раза, чтобы запустить следующий алгоритм."); Console.ReadKey(); Console.ReadKey(); algorithm = new RandomMoveTaker(); knight.CurrentPosition = startPosition; game = new ChessGame(knight, algorithm); consoleUi.PlayAndShow(game); Console.WriteLine("Это был алгоритм, выбирающий случайный ход."); }