Введение. 3
1 Постановка задачи. 4
1.1 Описание предметной области. 4
1.2 Обзор существующих аналогов. 4
1.3 Информационная база задачи. 7
1.4 Функциональное назначение. 8
2 Проектирование задачи. 9
2.1 Алгоритм решения задачи. 9
2.2 Алгоритмы программных модулей. 10
2.3 Выбор и обоснование инструментов разработки. 12
3 Программная реализация. 14
3.1 Физическая структура. 14
3.2 Описание разработанных модулей. 18
4 Тестирование программы.. 29
5 Применение. 30
5.1 Назначение и условия применения. 30
5.2 Программно-аппаратное обеспечение. 30
5.3 Руководство пользователя. 31
Заключение. 35
Список использованных источников. 36
В середине верхнего блока три нерешённых числа – 1, 4, и 9. Анализируя такую ситуацию, можно вписать число 4 в центр блока, число 1 в правый верхний угол, а число 9 – в левый верхний угол. Аналогично можно поступить с нижним центральным блоком 3×3: в нём отсутствуют числа 6, 8 и 9. Ячейки заполняются последовательно: число 6 ставим в центр, число 9 в нижний правый угол, а число 8 в нижний левый угол.
Таким образом, применяя именно этот алгоритм решения задачи, можно решить любую задачу в разрабатываемой игре.
...
На форме расположены следующие компоненты (рисунок 7):
cbLevel – компонент типа TComboBox, позволяющий задать уровень сложности генерируемого Судоку; Label2 – компонент типа TLabel, для вывода сообщений пользователю, в том числе и при проверке правильности; btnResult – кнопка TButton для проверки правильности текущего решения; btnNew – кнопка TButton для создания нового игрового поля.
...
Нажатия всех остальных клавиш игнорируются. Для улучшения игра в этом обработчике также предусмотрен вызов функции sudInAny для проверки правильности введенной цифры, алгоритм которой будет рассмотрен позже. Если цифра явно нарушает логику решения Судоку, ячейка выделяется красным цветом (Листинг 3.2).
...
Случайно с простым ограничением – для примера можно взять некое число N в качестве предела, так, что N строк и столбцов могут быть пустыми. Принимая N = 0 – для лёгких уровней, N=1 – средний, N=2 – сложный.
Или же при вычеркивании каждой ячейки проверять наличие и однозначность решения полученной системы. Именно этот способ и был использован в разрабатываемом приложении в процедуре Del (Листинг 3.10).
Список использованной литературы:
Несвижский Всеволод Программирование аппаратных средств в Windows / Всеволод Несвижский. - М.: «БХВ-Петербург»,2014. – 528 c. Архангельский А.Я. Программирование в Delphi 7 – 3-е изд., переработ. и дополн. – М.: Издательство БИНОМ, 2000. – 1072 с. Журнал «СУДОКУ» спецвыпуск газеты «Япончик». №5, февраль. – Н.Нов.: Нижполиграф, 2014 – 49 с. ... Всего 5 источников

