void GridCellTapped(Position gridPosition, Position cellPosition, int currentNumber) { if (m_solutionGrid != null) { if (currentNumber > 0) { if (OnGridSelectedNumber != null) { OnGridSelectedNumber(currentNumber); } } else if (m_numberSelected > 0) { if (m_pencillingIn) { TogglePencilledInNumber(gridPosition, m_numberSelected, cellPosition); } else if (m_erasing) { ClearGridNumber(gridPosition, cellPosition); } else { SetUserNumber(gridPosition, cellPosition, m_numberSelected); } if (OnCellTapped != null) { OnCellTapped(gridPosition, cellPosition); } } } }
void GridCellCleared(int number, Position gridPosition, Position cellPosition) { if (m_suppliedNumberCount[number - 1] > 0) { m_suppliedNumberCount[number - 1]--; } if (OnCellCleared != null) { OnCellCleared(number, gridPosition, cellPosition); } }
void GridCellRightTapped(Position gridPosition, Position cellPosition, int currentNumber) { if (m_numberSelected > 0) { TogglePencilledInNumber(gridPosition, m_numberSelected, cellPosition); } }
public void SetUserNumber(Position gridPosition, Position cellPosition, int number) { if (number < 1 || number > m_gridSize) { throw new Exception("SetUserNumber() - Number out of range."); } else if (gridPosition.Row < 0 || gridPosition.Row > 2) { throw new Exception("SetUserNumber() - Row index out of range."); } else if (gridPosition.Column < 0 || gridPosition.Column > 2) { throw new Exception("SetUserNumber() - Column index out of range."); } else { if (m_suppliedNumberCount[number - 1] < m_numberCountLimit) { int row = gridPosition.Row * 3 + cellPosition.Row; int column = gridPosition.Column * 3 + cellPosition.Column; bool numberIsCorrect = m_solutionGrid[row, column] == number; if (m_theGrids[gridPosition.Row, gridPosition.Column].SetUserNumber(cellPosition, number, numberIsCorrect)) { m_suppliedNumberCount[number - 1]++; } } } }
public void TogglePencilledInNumber(Position gridPosition, int number, Position cellPosition) { if (number < 1 || number > m_gridSize) { throw new Exception("TogglePencilledInNumber() - Number out of range."); } else if (gridPosition.Row < 0 || gridPosition.Row > 2) { throw new Exception("TogglePencilledInNumber() - Row index out of range."); } else if (gridPosition.Column < 0 || gridPosition.Column > 2) { throw new Exception("TogglePencilledInNumber() - Column index out of range."); } else { m_theGrids[gridPosition.Row, gridPosition.Column].TogglePencilledInNumber(number, cellPosition); } }
public void HighlightPencilMarks(Position cellPosition, bool highlight) { if (cellPosition.Row < 0 || cellPosition.Row > 2) { throw new Exception("highlightPencilMarks() - Row index out of range."); } else if (cellPosition.Column < 0 || cellPosition.Column > 2) { throw new Exception("highlightPencilMarks() - Column index out of range."); } else { m_gridSquares[cellPosition.Row, cellPosition.Column].HighlightPencils = highlight; } }
public void SetGivenNumber(Position gridPosition, Position cellPosition, int number) { if (number < 1 || number > m_gridSize) { throw new Exception("SetGivenNumber() - Number out of range."); } else if (gridPosition.Row < 0 || gridPosition.Row > 2) { throw new Exception("SetGivenNumber() - Row index out of range."); } else if (gridPosition.Column < 0 || gridPosition.Column > 2) { throw new Exception("SetGivenNumber() - Column index out of range."); } else { if (m_suppliedNumberCount[number - 1] < m_numberCountLimit) { if (m_theGrids[gridPosition.Row, gridPosition.Column].SetGivenNumber(cellPosition, number)) { m_suppliedNumberCount[number - 1]++; } } } }
public int CellValue(Position cellPosition) { if (cellPosition.Row < 0 || cellPosition.Row > 2) { throw new Exception("CellValue() - Row index out of range."); } else if (cellPosition.Column < 0 || cellPosition.Column > 2) { throw new Exception("CellValue() - Column index out of range."); } else { return m_gridSquares[cellPosition.Row, cellPosition.Column].Number; } }
public void ClearGridNumber(Position gridPosition, Position cellPosition) { if (gridPosition.Row < 0 || gridPosition.Row > 2) { throw new Exception("ClearGridNumber() - Row index out of range."); } else if (gridPosition.Column < 0 || gridPosition.Column > 2) { throw new Exception("ClearGridNumber() - Column index out of range."); } else { int cellNumber = GridCellValue(gridPosition, cellPosition); if (cellNumber > 0) { if (m_suppliedNumberCount[cellNumber - 1] > 0) { m_suppliedNumberCount[cellNumber - 1]--; } m_theGrids[gridPosition.Row, gridPosition.Column].ClearNumber(cellPosition); if (OnCellCleared != null) { OnCellCleared(cellNumber, gridPosition, cellPosition); } } } }
void GridCellCleared(int number, Position cellPosition) { if (OnCellCleared != null) { OnCellCleared(number, m_gridPosition, cellPosition); } }
void GridCellTapped(Position cellPosition, int currentNumber) { if (OnCellTapped != null) { OnCellTapped(m_gridPosition, cellPosition, currentNumber); } }
public void TogglePencilledInNumber(int number, Position cellPosition) { if (number < 1 || number > 9) { throw new Exception("TogglePencilledInNumber() - Number out of range."); } else if (cellPosition.Row < 0 || cellPosition.Row > 2) { throw new Exception("TogglePencilledInNumber() - Row index out of range."); } else if (cellPosition.Column < 0 || cellPosition.Column > 2) { throw new Exception("TogglePencilledInNumber() - Column index out of range."); } else { m_gridSquares[cellPosition.Row, cellPosition.Column].TogglePencilledInNumber(number); } }
public void ShowErrors(Position cellPosition, bool showErrors) { if (cellPosition.Row < 0 || cellPosition.Row > 2) { throw new Exception("ShowErrors() - Row index out of range."); } else if (cellPosition.Column < 0 || cellPosition.Column > 2) { throw new Exception("ShowErrors() - Column index out of range."); } else { m_gridSquares[cellPosition.Row, cellPosition.Column].ShowErrors = showErrors; } }
public bool SetUserNumber(Position cellPosition, int number, bool numberIsCorrect) { if (number < 1 || number > 9) { throw new Exception("SetUserNumber() - Number out of range."); } else if (cellPosition.Row < 0 || cellPosition.Row > 2) { throw new Exception("SetUserNumber() - Row index out of range."); } else if (cellPosition.Column < 0 || cellPosition.Column > 2) { throw new Exception("SetUserNumber() - Column index out of range."); } else { return m_gridSquares[cellPosition.Row, cellPosition.Column].SetUserNumber(number, numberIsCorrect); } }
void TheGameBoard_OnCellCleared(int number, Position gridPosition, Position cellPosition) { if (m_enteringPuzzle) { int row = gridPosition.Row * 3 + cellPosition.Row; int column = gridPosition.Column * 3 + cellPosition.Column; TheGameBoard.SolutionGrid[row, column] = 0; } NumberSelectionPanel.UpdateNumberCount(TheGameBoard.SuppliedNumberCount); }
public int GridCellValue(Position gridPosition, Position cellPosition) { if (gridPosition.Row < 0 || gridPosition.Row > 2) { throw new Exception("GridCellValue() - Row index out of range."); } else if (gridPosition.Column < 0 || gridPosition.Column > 2) { throw new Exception("GridCellValue() - Column index out of range."); } else { return m_theGrids[gridPosition.Row, gridPosition.Column].CellValue(cellPosition); } }
private void TheGameBoard_OnCellTapped(Position gridPosition, Position cellPosition) { if (m_enteringPuzzle) { int row = gridPosition.Row * 3 + cellPosition.Row; int column = gridPosition.Column * 3 + cellPosition.Column; TheGameBoard.SolutionGrid[row, column] = TheGameBoard.NumberSelected; } else { NumberSelectionPanel.UpdateNumberCount(TheGameBoard.SuppliedNumberCount); if (IsSolutionCorrect()) { m_gameActive = false; PauseToolStripButton.Enabled = false; SaveHallOfFameEntry(); } } }
public void ClearNumber(Position cellPosition) { if (cellPosition.Row < 0 || cellPosition.Row > 2) { throw new Exception("ClearNumber() - Row index out of range."); } else if (cellPosition.Column < 0 || cellPosition.Column > 2) { throw new Exception("ClearNumber() - Column index out of range."); } else { m_gridSquares[cellPosition.Row, cellPosition.Column].ClearCell(); } }