View on GitHub

SudokuSolver

A tool for solving sudoku / Инструмент для решения судоку

Sudoku solver: руководство пользователя

ƒ  RD AAOW FDL; 13.04.2025; 3:04

Содержание страницы


Общие сведения

Этот инструмент позволяет автоматически или вручную решать стандартные (9 x 9) судоку.

Решение основано на рекурсивной функции, строящей серии «предположений» и возвращающей первое из них, которое не конфликтует с правилами судоку.

Внимание! Этот метод всегда завершает работу с каким-либо результатом (является конечным). Но в некоторых случаях это может занять некоторое время. Такое поведение является нормой для приложения.

Кроме того, в приложении теперь доступен игровой режим: оно может проверять наличие решения, но не отображать его, сообщая лишь о его наличии или отсутствии.

 

Игровой режим

Новая игра может быть запущена из любого состояния приложения. Но мы рекомендуем переключить интерфейс в режим игры, чтобы вывести на главный экран кнопки, более подходящие для игрового процесса. Кроме того, в этом режиме приложение не позволяет устройству уходить в спящий режим при отсутствии активности игрока.

Кнопка начала новой игры переводит приложение в состояние активной игры, в котором оно начинает учитывать действия игрока в целях расчёта выигрыша. При этом игрок может выбрать уровень сложности генерируемой таблицы. Кроме того, активная игра не позволяет менять значения в ячейках, заполненные при генерации таблицы.

Выход из состояния активной игры происходит, если:

В состоянии активной игры основной функцией становится проверка наличия решения (синяя галочка или клавиша F3). При нажатии этой кнопки выполняется проверка текущего состояния таблицы на возможность успешного решения. Если решения нет, пользователь извещается о наличии ошибки. Если оно есть, в интерфейсе оно не отображается, но пользователь может увидеть сообщение о его наличии. При этом рассчитывается его выигрыш, а введённые значения становятся неизменяемыми.

Выигрышем игрока является количество правильных значений, указанных между нажатиями кнопки проверки, возведённое в квадрат и умноженное на уровень сложности, выбранный в начале игры. Такая формула позволяет одновременно учитывать сложность задачи и длину цепочки значений, введённых между проверками.

Игра считается успешно завершённой, когда при нажатии кнопки проверки в таблице осталась одна пустая ячейка или менее. Состояние активной игры при этом отключается, а пользователю предоставляется статистика игрового режима.

Следует отметить, что выход из приложения не прекращает игру. Состояние приложения сохраняется до следующего запуска, благодаря чему игру можно продолжить в любой момент.

 

Управление (Android)

 

Управление (Windows)