Example #1
0
 public void SetPreset(Preset preset)
 {
     try
     {
         MainBoard = new Board(preset.BoardRank);
         DrawProcessor.SetBoard(MainBoard);
         MovementProcessor.SetBoard(MainBoard);
         Players = preset.Players;
         MainBoard.SetPieces(preset.StartingPosition);
         SwapSides();
     }
     catch {
         DrawProcessor.Display("Invalid game preset");
     }
 }
Example #2
0
        private void DisplayInfo()
        {
            switch (LastMoveResult)
            {
            case MoveResult.Success:
            default:
                break;

            case MoveResult.NeedToConvert:
                DrawProcessor.Display($"{CurrentPlayer.Color} pawn is ready to convert.");
                DrawProcessor.Display($"Please choose piece pawb wiil be converted into: ");
                DrawProcessor.Display($"Ф - Queen");
                DrawProcessor.Display($"i - Bishop");
                DrawProcessor.Display($"2 - Knight");
                DrawProcessor.Display($"Д - Rook");
                DrawProcessor.Display($"");
                break;

            case MoveResult.WrongInputFormat:
                DrawProcessor.DisplayError("Wrong format");
                break;

            case MoveResult.WrongBeginningCell:
                DrawProcessor.DisplayError($"Chosen piece is not yours. Choose {CurrentPlayer.Color} piece");
                break;

            case MoveResult.EmptyBeginningCell:
                DrawProcessor.DisplayError("Chosen starting cell is empty");
                break;

            case MoveResult.WrongDestinationCell:
                break;

            case MoveResult.OccupiedDestinationCell:
                DrawProcessor.DisplayError("Chosen target cell is occupied by your piece");
                break;

            case MoveResult.ImpossibleMove:
                DrawProcessor.DisplayError("Chosen piece cannot move to the target cell");
                break;
            }

            DrawProcessor.Display("");
            DrawProcessor.Display("Type in your move in following format - \"A7 A5\",\"B5 E2\",\"G8 F6\"");
            DrawProcessor.Display("");
            DrawProcessor.Display($"Now is {CurrentPlayer.Name}'s turn");
        }