public int GetNumber(int x, int y) { int row = (int)Math.Floor((double)y / 3); int col = (int)Math.Floor((double)x / 3); BoardBox bb = BoardBox[col, row]; int minorX = x - col * 3; int minorY = y - row * 3; return(bb.GetNumber(minorX, minorY)); }
public bool CanPlaceAtSubGrid(int subX, int subY, int relX, int relY, int num) { BoardBox subGrid = BoardBox[subX, subY]; int checkNum = subGrid.GetNumber(relX, relY); if (checkNum == 0) { bool numExists = false; for (int x = 0; x < 3; x += 1) { for (int y = 0; y < 3; y += 1) { if (x == relX && y == relY) { continue; } checkNum = subGrid.GetNumber(x, y); if (checkNum == num) { numExists = true; break; } } if (numExists) { break; } } if (!numExists) { return(true); } } return(false); }