private static void PlayWhatever(Func <int, string> getNextMove) { int turn = 1; while (!Board.CheckForEndOfGame()) { RenderBoard(); Console.WriteLine($"move {turn}:"); var nextMove = getNextMove(turn); if (Board.TryPerformCoordinateNotationMove(nextMove) || Board.TryPerformAlgebraicChessNotationMove(nextMove)) { turn += 1; } } RenderBoard(); Console.WriteLine($"{Board.Winner} won!"); Console.ReadKey(false); }