コード例 #1
0
ファイル: Game.cs プロジェクト: venator21/chessgame
        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();
        }
コード例 #2
0
ファイル: ChessGame.cs プロジェクト: sebaviscu/Chess
        /// <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);
        }