public override string ToString() { string str = "LosingStateFlagsNum: " + Environment.NewLine; string upperHand = UpperHandIfStartFirst ? "First" : "Later"; str += string.Join(", ", LosingStateFlagsNum.Select(i => i)) + Environment.NewLine; str += "Upper Hand if start: " + upperHand + Environment.NewLine; return(str); }
public int PulledFlagDecisionConsecutive(int remainingFlags) { int pulledFlag = 0; var remainingLosingStateFlagsNum = LosingStateFlagsNum.Where(x => x < remainingFlags).ToList(); foreach (int item in remainingLosingStateFlagsNum) { int num = remainingFlags - item; if (FlagsThatCanBeRemove.Contains(num)) { pulledFlag = num; break; } } if (pulledFlag == 0) { Random random = new Random(); int index = random.Next(FlagsThatCanBeRemove.Count); pulledFlag = FlagsThatCanBeRemove[index]; } return(pulledFlag); }