private DeterministicNode move()
        {
            if (base.isShowConsole)
            {
                Console.WriteLine("EXECUTE TASK : " + Task.CurrentId + ", ON THREAD : " + System.Threading.Thread.CurrentThread.ManagedThreadId);
            }
            DeterministicNode searchTree = new DeterministicNode(this.board.getBoardState(), null, Constant.NONE, Constant.NONE);

            searchTree.expand();
            searchTree.updateStatus(searchTree.rollOut(), searchTree.s);
            timer.Start();
            while (timer.Elapsed.TotalSeconds <= base.wktThinking)
            {
                //if (base.isVerboseRunning)
                //{
                //Console.WriteLine("Left Time : " + (wktThinking - timer.Elapsed.TotalSeconds));
                //}
                searchTree.selectAction();
            }

            return(searchTree);
        }
        public void setPGLValue()
        {
            DeterministicNode tmpNode = new DeterministicNode(this.board.getBoardState(), null, Constant.NONE, Constant.NONE);

            DeterministicNode.side = this.sideToMove;
            double x = 0;

            if (base.isShowConsole)
            {
                openConsole();
                Console.WriteLine("\nSET PGL VALUE : 500 Kali");
            }
            for (int i = 0; i < 500; i++)
            {
                tmpNode.rollOut();
                x += tmpNode.s;
            }
            Node.PGL = x / 500;
            if (base.isShowConsole)
            {
                Console.WriteLine("SELESAI SET PGL VALUE");
                Console.WriteLine("=====================");
            }
        }