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); }