public void MakeRound() { Console.Clear(); board.DrawBoard(); bool wasMoved = false; while (!wasMoved) { var(source, destination) = GetInputWithCheck(); wasMoved = board.MovePiece(source, destination); if (!wasMoved) { Console.Write("This piece can't move like that! "); } } PlayerChange(); }
/// <summary> /// Start a new game /// </summary> public void Start() { Board newBoard = new Board(); string randomOption = null; do { Console.WriteLine(); Console.WriteLine(Resource.RandomPlay + " Y / N"); randomOption = Console.ReadLine(); randomOption = randomOption.ToUpper(); }while (randomOption != "Y" && randomOption != "N"); if (randomOption == "Y") { newBoard.InitialicePiecesRandom(); } else { newBoard.InitialicePieces(); } bool again = false; do { newBoard.DrawBoard(); Piece currentPiece = null; while (currentPiece == null) { Coordinate currentCoordinates = ReadNewCoordinates(); currentPiece = newBoard.SearchPieces(currentCoordinates.Column, currentCoordinates.Row); if (currentPiece != null) { Console.WriteLine(Resource.SelectedPiece + " " + currentPiece.GetType().Name.ToString() + " - " + currentPiece.Color.ToString()); Console.WriteLine(); Console.WriteLine(Resource.DestinationCoordinates); Coordinate newCoordinates = ReadNewCoordinates(); Console.WriteLine(); ShowsErrorMessage(newBoard.NewMove(currentPiece, newCoordinates)); } else { Console.WriteLine(Resource.CoordinateNotValid); Console.WriteLine(); } } ; Console.ForegroundColor = ConsoleColor.White; string continueOption = null; Console.WriteLine(Resource.WantToContinue + " Y / N"); continueOption = Console.ReadLine(); continueOption = continueOption.ToUpper(); if (continueOption == "Y") { again = true; //Console.Clear(); } else { again = false; } } while (again); }