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

VahaC

Well-known member
10.01.2007
116
0
#1
Извините если вопрос не в том разделе.
Проблема следующая, надо написать генератор игры судоку.
С горем пополам кое чего написал (в прикреплённом архиве проект с комментариями).

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

Вложения

VahaC

Well-known member
10.01.2007
116
0
#4
спасибо но это для решения а я генератор пишу
 

vital

Больной Компом Детектед
29.01.2006
2 432
33
#5

VahaC

Well-known member
10.01.2007
116
0
#6
А вторую ссылку нажать руки отсохли?
Цитата
Исходник программы, показывающей пример создания логической игры Судоку
прежде чем такое вот тут понаписать, не плохо было бы самому посмотреть что та прога не генерирует судоку, а просто грузит заготовки из файлов
 

VahaC

Well-known member
10.01.2007
116
0
#8
А если рендомно раставить 15 чисел и решить?
15 чисел это слишком мало,
а если увеличить их число то проверки будут продолжатся вечность

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

VahaC

Well-known member
10.01.2007
116
0
#10
А какя разница? Кто проверять будет?
Возможно и никто. Но как показывает практика без той проверки в игре достаточно часто возникают ситуации в которых для дальнейшего решения требуется использовать метод "Научного Тыка Пальцем В Небо", так как в одной ячейке могут быть размещены несколько разных цифр (чаще всего две, но может быть и три и ....).
 
09.11.2009
665
1
#11
А если сделать так:
Генерим поле , развязиваем прогой, скриваем всё, рендомно выбираем ячейки для того что б показать.
 

VahaC

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

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

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

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

VahaC

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

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

VahaC

Well-known member
10.01.2007
116
0
#17
Я делаю вот так

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

VahaC

Well-known member
10.01.2007
116
0
#18
И тут время можно потратить немало, поэтому многие просто пользуют готовые, я так думаю. (с)
И я тоже так думаю но всё же есть генераторы которые делают всё это почти мгновенно, но к сожалению их исходников не нашёл