private Tuple <Int32, NumbersBinary> CreateNumberData(NumbersBinary numbersBinary) { for (Int32 number = Defs.MinNumber; number <= Defs.MaxNumber; ++number) { NumbersBinary singleNumberBinary = NumbersBinaryHelper.CreateForNumber(number); if ((numbersBinary & singleNumberBinary) != 0) { return(new Tuple <Int32, NumbersBinary>(number, singleNumberBinary)); } } throw new InvalidOperationException(); }
private Tuple <GridPoint, Int32> ChooseCell(CellsInfo cellsInfo) { foreach (KeyValuePair <GridPoint, NumbersBinary> cellInfo in cellsInfo.Data) { for (Int32 number = Defs.MinNumber; number <= Defs.MaxNumber; ++number) { if (cellInfo.Value == NumbersBinaryHelper.CreateForNumber(number)) { return(new Tuple <GridPoint, Int32>(cellInfo.Key, number)); } } } return(null); }