Exemplo n.º 1
0
        public void NotTerminal_White()
        {
            ChessBoard notTerminal = new ChessBoard();

            notTerminal.InitializeScenario(new ScenarioList {
                { BoardSquare.A1, ChessPieceType.King, ChessPieceColors.White },
                { BoardSquare.H8, ChessPieceType.King, ChessPieceColors.Black },
                { BoardSquare.A2, ChessPieceType.Pawn, ChessPieceColors.White },
                { BoardSquare.H7, ChessPieceType.Pawn, ChessPieceColors.Black }
            });

            NegaMax.TerminalConditions resultWhiteNotTerminal = NegaMax.IsTerminal_Debug(notTerminal, ChessPieceColors.White, GenerateStaticMoves_White_Depth1);
            Assert.Equal(NegaMax.TerminalConditions.NotTerminal, resultWhiteNotTerminal);
        }
Exemplo n.º 2
0
        public void DrawTest_Black()
        {
            //Draw state test
            ChessBoard draw = new ChessBoard();

            draw.InitializeScenario(new ScenarioList {
                { BoardSquare.A8, ChessPieceType.King, ChessPieceColors.Black },
                { BoardSquare.B7, ChessPieceType.Rook, ChessPieceColors.White },
                { BoardSquare.H1, ChessPieceType.King, ChessPieceColors.White }
            });


            NegaMax.TerminalConditions resultBlackDraw = NegaMax.IsTerminal_Debug(draw, ChessPieceColors.Black, GenerateCheckMateMoves);
            Assert.Equal(NegaMax.TerminalConditions.Draw, resultBlackDraw);
        }
Exemplo n.º 3
0
        public void CheckmateTest_Black()
        {
            //Checkmate state test
            ChessBoard checkmate = new ChessBoard();

            checkmate.InitializeScenario(new ScenarioList {
                { BoardSquare.G8, ChessPieceType.Rook, ChessPieceColors.White },
                { BoardSquare.D6, ChessPieceType.Knight, ChessPieceColors.White },
                { BoardSquare.D8, ChessPieceType.King, ChessPieceColors.Black }
            });
            checkmate.BlackKing.IsChecked = true;
            NegaMax.TerminalConditions result = NegaMax.IsTerminal_Debug(checkmate, ChessPieceColors.Black, GenerateCheckMateMoves);

            Assert.Equal(NegaMax.TerminalConditions.Win, result);
        }