Example #1
0
        private void MainLoop()
        {
            while (true)
            {
                var input = Console.ReadLine();

                if (input.Contains("position"))
                {
                    Position(input);
                }

                else if (input.Contains("go"))
                {
                    Go(input);
                }

                else if (input.Contains("divide"))
                {
                    var command = input.Split(' ');
                    var depth   = Convert.ToInt32(command[1]);

                    var mg = new MoveGenerator(_bs);
                    mg.Divide(depth);
                }

                else if (input.Contains("perft"))
                {
                    var command = input.Split(' ');
                    var depth   = Convert.ToInt32(command[1]);

                    var mg = new MoveGenerator(_bs);
                    Console.WriteLine("Nodes: {0}.", mg.Perft(depth));
                }

                else if (input.Equals("d"))
                {
                    _helper.PrintBoardWhitePerspective(_bs.BoardRepresentation);
                }

                switch (input)
                {
                case "isready":
                    IsReady();
                    break;

                case "quit":
                    Quit();
                    break;

                case "stop":
                    break;

                case "z":
                    //Console.WriteLine("Pos key: {0:X}.", _bs.PosKey);
                    break;

                default:
                    break;
                }
            }
        }