Пример #1
0
        public void Test_003()
        {
            var moves = new List <string>()
            {
                //white, Black - COLLECTION OF STRINGS TO REPRESENT MOVES
                "G1F3", "G8F6",
                "C2C4", "G7G6",
                "B1C3", "F8G7",
                "D1D4", "E8G8",        //CASTLE
                "C1C4", "D7D5",
                "D1B3", "D5C4",        //CAPTURE
                "B3C4",                //CAPTURE
            };
            ChessMove result = null;

            //will keep track of the moves and progress of game and be move-centric
            var gameMoves = new List <ChessMove>();

            foreach (var move in moves)
            {
                if (ChessMove.Try(move, ref result))
                {
                    gameMoves.Add(result);
                }
                else
                {
                    break;
                }
            }
        }
Пример #2
0
        public void Test_003()
        {
            var moves = new List <string>()
            {
                // White, Black
                "G1F3", "G8F6",
                "C2C4", "G7G6",
                "B1C3", "F8G7",
                "D1D4", "E8G8", // castle
                "C1C4", "D7D5",
                "D1B3", "D5C4", // capture
                "B3C4",         // capture, ...
            };
            var printer = new BoardPrinter();

            ChessMove result = null;

            var gameMoves = new List <ChessMove>();

            foreach (var move in moves)
            {
                if (ChessMove.Try(move, ref result))
                {
                    Debug.WriteLine($"");
                    Debug.WriteLine($"Move Number: {result.MoveNumber}");
                    Debug.WriteLine($"Origin: {result.Move.Substring(0, 2)}");
                    Debug.WriteLine($"Destination: {result.Move.Substring(2, 2)}");
                    Debug.WriteLine($"");

                    printer.Show(result.Before);
                    printer.Show(result.After);

                    gameMoves.Add(result);
                }
                else
                {
                    break;
                }
            }
        }