(); done (); SudAddAns (s: matrix.t_matr) ;//додаємо судоку в масив ответовSudMod (var s: matrix.t_matr; var p: Tpoint; v: integer): Matrix.t_matr ;//заміна в судоку s одного значення v на позиції PIsNextUnknown (s: matrix.t_matr; var p: Tpoint): boolean;// знаходимо в судоку пусту клітинку і повертаємо позицію P, інакше False; SudInLine (s: matrix.t_matr; var p: Tpoint; v: integer): boolean ;//перевірка за строкеSudInRow (s: matrix.t_matr; var p: Tpoint; v: integer): boolean;// перевірка за столбцуSudInSq (s: matrix. t_matr; var p: Tpoint; v: integer): boolean;// перевірка в квадратеSudInAny (s: matrix.t_matr; var p: Tpoint; v: integer): boolean;// загальна перевірка на постановку чіслаDoRec (S: Matrix. t_matr): boolean ;//рекурсивне побудова судоку
function SudOK (s: Matrix.t_matr): boolean ;//перевірка на правильність побудованого судокуgenerate (var s: matrix.t_matr);// генерування судоку швидким методом c можливим повторенням
procedure generate_matr (var s: matrix.t_matr) ;//генерує матрицю без повторенійRandom_generate (var s, b: matrix.t_matr);// генерація ігрового судокуSetValInSud (var s: matrix.t_matr; i , j: byte; v: byte);// установка значення
end;
У класі TSudoky описані поля:
1. згенерувати судоку (Sud);
2. Ігрове судоку (GameSud);
. Масив відповідей з судоку (Ans);
. Кількість рішень в масиві відповідей з судоку (Mlen);
. Мінлива для використання методів з класу Matrix (Matr);
У класі TSudoky описані методи:
1. ініціалізація полів класу (create);
2. видалення значень полів класу (done);
. додаємо судоку s в масив Ans відповідей (SudAddAns);
. заміна в судоку s одного значення v на позиції P (SudMod);
. повертає true, якщо в судоку s є порожня осередок, повернення позиції P, інакше False (IsNextUnknown);
. повертає true, якщо в судоку s рядок має правильна побудова, інакше fase (SudInLine);
. повертає true, якщо в судоку s стовпець має правильна побудова, інакше fase (SudInRow);
. повертає true, якщо в судоку s квадрат має правильна побудова, інакше fase (SudInSq);
. повертає true, якщо в судоку s квадрат, стовпець і рядок має правильна побудова, і...