Генератор игры судоку

  • Автор темы VahaC
  • Дата начала
V

VahaC

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

Скажите плиз чего там надо поправить чтобы все это нормально заработало.
 

Вложения

  • sudoku.zip
    5,7 КБ · Просмотры: 242
D

Dock1100

Посмотри и
 
V

VahaC

спасибо но это для решения а я генератор пишу
 
V

VahaC

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

VahaC

А если рендомно раставить 15 чисел и решить?
15 чисел это слишком мало,
а если увеличить их число то проверки будут продолжатся вечность

Добавлено: Вот если кого то интересует то есть неплохой пример реализации называется SUDOKUTurk v.1.001.
Правда и у него есть недостатки
- комментарии на турецком
- нет проверки на количество возможных решений (настоящая судоку имеет только одно решение)
 
V

VahaC

А какя разница? Кто проверять будет?
Возможно и никто. Но как показывает практика без той проверки в игре достаточно часто возникают ситуации в которых для дальнейшего решения требуется использовать метод "Научного Тыка Пальцем В Небо", так как в одной ячейке могут быть размещены несколько разных цифр (чаще всего две, но может быть и три и ....).
 
D

Dock1100

А если сделать так:
Генерим поле , развязиваем прогой, скриваем всё, рендомно выбираем ячейки для того что б показать.
 
V

VahaC

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

- генерим поле

- выбираем ячейку и проверяем количество возможных решений (если её скрыть)
- если больше одного открываем обратно
- если одно то оставляем скрытой

-пытаемся с другой итак далее
 
V

VahaC

Программа SudokuCS (как, впрочем, и онлайн-версия) использует готовые уровни, сгенерированные другой программой Sudoku:
так что это совсем не генератор
 
V

VahaC

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

-пытаемся с другой итак далее
Но это жрёт уйму времени
 
V

VahaC

Я делаю вот так

генерю решённое судоку (то есть все ячейки видимые)
потом начинаю потихоньку их скрывать выполняя проверку описанную выше
в результате этих проверок создание самой игры (прошу заметить, не решённого поля) длится очень долго (хотя решённое поле генерится практически мгновенно)
 
V

VahaC

И тут время можно потратить немало, поэтому многие просто пользуют готовые, я так думаю. (с)
И я тоже так думаю но всё же есть генераторы которые делают всё это почти мгновенно, но к сожалению их исходников не нашёл
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!