Exemplo n.º 1
0
        /// <summary>
        /// Does moves test with parameters specified in the command.
        /// </summary>
        /// <param name="command">The DoMovesTest command</param>
        private void DoMovesTest(Command command)
        {
            var test = new MovesTest();

            var calculateEndNodesArgument = command.GetArgument <bool>(0);
            var verifyHashArgument        = command.GetArgument <bool>(1);
            var depthArgument             = command.GetArgument <int>(2);

            var result = test.Run(VisualBoard.FriendlyBoard, depthArgument, calculateEndNodesArgument, verifyHashArgument);

            ConsoleManager.WriteLine();
            ConsoleManager.WriteLine("$wBenchmark result:");
            ConsoleManager.WriteLine($"$wTotal nodes: $g{result.TotalNodes} N");
            ConsoleManager.WriteLine($"$wEnd nodes: $g{result.EndNodes} N");

            if (verifyHashArgument)
            {
                ConsoleManager.WriteLine($"$wHash correct: {ColorfulConsoleHelpers.ParseBool(result.Integrity)}");
            }

            ConsoleManager.WriteLine($"$wNodes per second: $c{result.NodesPerSecond / 1000} kN");
            ConsoleManager.WriteLine($"$wTime per node: $c{result.TimePerNode} ns");
            ConsoleManager.WriteLine($"$wTime: $m{result.Time} s");
            ConsoleManager.WriteLine();
        }
Exemplo n.º 2
0
        /// <summary>
        /// Displays stalemate status on the console.
        /// </summary>
        /// <param name="command">The Stalemate command.</param>
        private void DisplayStalemateStatus(Command command)
        {
            var whiteStalemate = Bitboard.IsStalemate(Color.White);
            var blackStalemate = Bitboard.IsStalemate(Color.Black);

            ConsoleManager.WriteLine($"$cWhite king in stalemate: ${ColorfulConsoleHelpers.ParseBool(whiteStalemate)}");
            ConsoleManager.WriteLine($"$cBlack king in stalemate: ${ColorfulConsoleHelpers.ParseBool(blackStalemate)}");
        }
Exemplo n.º 3
0
        /// <summary>
        /// Displays check status on the console.
        /// </summary>
        /// <param name="command">The Check command.</param>
        private void DisplayCheckStatus(Command command)
        {
            var whiteCheck = Bitboard.IsCheck(Color.White);
            var blackCheck = Bitboard.IsCheck(Color.Black);

            ConsoleManager.WriteLine($"$cWhite king checked: ${ColorfulConsoleHelpers.ParseBool(whiteCheck)}");
            ConsoleManager.WriteLine($"$cBlack king checked: ${ColorfulConsoleHelpers.ParseBool(blackCheck)}");
        }
Exemplo n.º 4
0
        /// <summary>
        /// Displays castling flags on the console.
        /// </summary>
        /// <param name="command">The Castling command.</param>
        private void DisplayCastlingFlags(Command command)
        {
            var castlingFlags = VisualBoard.FriendlyBoard.Castling;

            ConsoleManager.WriteLine($"$cWhite short possibility: {ColorfulConsoleHelpers.ParseBool(castlingFlags.WhiteShortCastlingPossibility)}");
            ConsoleManager.WriteLine($"$cWhite long possibility: {ColorfulConsoleHelpers.ParseBool(castlingFlags.WhiteLongCastlingPossibility)}");
            ConsoleManager.WriteLine($"$cBlack short possibility: {ColorfulConsoleHelpers.ParseBool(castlingFlags.BlackShortCastlingPossibility)}");
            ConsoleManager.WriteLine($"$cBlack long possibility: {ColorfulConsoleHelpers.ParseBool(castlingFlags.BlackLongCastlingPossibility)}");

            ConsoleManager.WriteLine($"$cWhite done: {ColorfulConsoleHelpers.ParseBool(castlingFlags.WhiteCastlingDone)}");
            ConsoleManager.WriteLine($"$cBlack done: {ColorfulConsoleHelpers.ParseBool(castlingFlags.BlackCastlingDone)}");
        }
Exemplo n.º 5
0
        private void CheckThreefoldRepetition(Command command)
        {
            var threefoldRepetition = Bitboard.IsThreefoldRepetition();

            ConsoleManager.WriteLine($"$wThreefold repetition: {ColorfulConsoleHelpers.ParseBool(threefoldRepetition)}");
        }