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, NODE.NONE, 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, NODE.NONE, 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("====================="); } }