예제 #1
0
        private bool ProcessNode()
        {
            int hashKey = WorkingTableau.GetUpPilesHashKey();

            if (TranspositionTable.Contains(hashKey))
            {
                return(false);
            }
            TranspositionTable.Add(hashKey);

            NodesSearched++;
            double score = CalculateSearchScore();

            if (score > Score)
            {
                Score = score;
                Moves.Copy(WorkingTableau.Moves);
            }

            return(true);
        }