Форум
Написать нам
  • Страница 1 из 1
  • 1
Модератор форума: as-master  
Алгоритм судоку
skylynxДата: Воскресенье, 22 Июня 2014, 10:44 | Сообщение # 1
Новый участник
Группа: Пользователи
Сообщений: 23
Репутация: 0
Награды: 0
Статус: Offline
Есть одна идея. Возможно ли такое в ММБ? Хочу создать генератор для физического моделирования фигур по принципу 3D судоку 10х10, но вместо чисел использовать цветные шары (как в макете кристалической решетки). Не поможите с скриптом? Была идея с семплом Dicies, но не то...
 
YURIYДата: Воскресенье, 22 Июня 2014, 16:30 | Сообщение # 2
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Не очень понял, что конкретно нужно. 3D в MMB? Если да, то это вряд ли. Если только вдруг какие плагины есть.


Вечная память Андрею Сергееву!
 
skylynxДата: Воскресенье, 22 Июня 2014, 22:44 | Сообщение # 3
Новый участник
Группа: Пользователи
Сообщений: 23
Репутация: 0
Награды: 0
Статус: Offline
не-не. Это больше похоже на генератор самого судоку, но чтоб был куб 10х10. 3д тут пока никак. А вот если эти слоя куба разложить... В полне даже 2д выйдет. Типа сколько там, 100 квадратов 10х10 будет?.. Увесисто получится...
 
YURIYДата: Понедельник, 23 Июня 2014, 04:53 | Сообщение # 4
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Вы можете толком задачу описать? Я не пойму, что Вам нужно. На примере по шагам распишите.


Вечная память Андрею Сергееву!
 
skylynxДата: Среда, 25 Июня 2014, 02:22 | Сообщение # 5
Новый участник
Группа: Пользователи
Сообщений: 23
Репутация: 0
Награды: 0
Статус: Offline
1. создать скрипт для генерации 3х3 куба судоку
2. усовершенствовать куб до 9х9.
3.как сюда картинку залить?
 
YURIYДата: Среда, 25 Июня 2014, 02:49 | Сообщение # 6
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Цитата skylynx ()
1. создать скрипт для генерации 3х3 куба судоку
2. усовершенствовать куб до 9х9.


Это подробное объяснение? Вы уверены, что хотите получить помощь, ничего для этого не предпринимая? Кстати, я эту игру вообще не знаю.

Цитата skylynx ()
3.как сюда картинку залить?


Так же, как и везде - внизу есть форма для выбора файла.



Вечная память Андрею Сергееву!
 
skylynxДата: Среда, 25 Июня 2014, 15:58 | Сообщение # 7
Новый участник
Группа: Пользователи
Сообщений: 23
Репутация: 0
Награды: 0
Статус: Offline
хм...
начну пожалуй с простого.
1. че за игра? в квадрате стороной 9х9 клеток нужно в клетках расставить цифры от 1 до 9 так, чтоб по-горизонтали и по-вертикали они неповторялись. тоесть, на одной линии неможет быть одинаковых цифр.
2. в 3д кубе стороной 3х3 еще проще. одинаковых цифр недолжно быть на любом его срезе.например. на одной его стороне будет
123
456
789
значит если его повернуть влево, то результат будет
3??
6??
9??
точно так же и с сечением
??? и ?8?
456 и ?5?
??? и ?2?
вместо ? софтина должна сама решить, что подставить.
так понятно?
3. а щас повеселее будет. пример с кубом 3х3 нада увеличить до 9х9.
поскольку решений этой загогулины куча, будет умесно сварганить все это типа генератора комбинаций. цифры можно заменить на цветные круги, тогда два одинаковых цвета не должны быть на линии.
4.на кой мне этот гемор? хочу спаять этот 9х9 куб, цветодинамичный такой куб. мож кому интересно будет, то на счетчике 0-9. эффект можно только представить. в простом невзрачном кубике хаотично, но сосмыслом загоряются светики то тут, а те там...


Сообщение отредактировал skylynx - Четверг, 26 Июня 2014, 00:52
 
YURIYДата: Воскресенье, 29 Июня 2014, 12:37 | Сообщение # 8
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Стало немного понятнее.

Ок. Давайте по порядку. Какие конкретно проблемы у Вас возникли? Будем решать их последовательно. Если Вы не имеете опыт какого-либо программирования, и если Вы новичок в MMB - делать данный проект будет бессмысленно, Вы его не осилите без базовых знаний. Но их можно получить через уроки на нашем сайте. Если знания есть - задайте последовательно вопросы, решая задачи постепенно. От простого к сложному.



Вечная память Андрею Сергееву!
 
skylynxДата: Воскресенье, 29 Июня 2014, 20:23 | Сообщение # 9
Новый участник
Группа: Пользователи
Сообщений: 23
Репутация: 0
Награды: 0
Статус: Offline
в этой софтине знание поверхностное, все по этим же урокам. если делать на простой квадрат 9х9, то слишком много if ...then...else получается для каждой ячейки и то для фиксированой комбинации. а хотелось бы код алгоритма по проще + кнопку для генерации комбинаций. повесить на кнопку не вопрос. было бы что...

Сообщение отредактировал skylynx - Воскресенье, 29 Июня 2014, 20:27
 
YURIYДата: Воскресенье, 29 Июня 2014, 23:55 | Сообщение # 10
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Ответ был ожидаем. Я рекомендую Вам не замахиваться сразу на что-то сложное, а начать с простого. Тогда всё станет понятнее. Вы тоже поймите, что за Вас на этом форуме никто ничего делать не будет, ибо мы здесь собираемся для обмена опытом, для помощи, но не для того, чтобы делать за кого-то. Именно поэтому я выше и пишу, что нужны конкретные вопросы, тогда и будут конкретные на них ответы.

Начните с простого. Как и в любой области человеческой деятельности. Читать мы тоже начинали по слогам. Здесь то же самое.



Вечная память Андрею Сергееву!
 
YURIYДата: Понедельник, 30 Июня 2014, 00:00 | Сообщение # 11
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Сами же алгоритмы судоку не являются тайной. Вот они:

http://yandex.ru/yandsearch?text=алгоритм%20судоку

Например, можно взять из первых:

http://habrahabr.ru/post/192102/

Другой вопрос - перевести это в формат MMB. Но какая-никакая алгоритмическая база уже есть для отталкивания.

А вообще, начинать нужно со знаний основ алгоритмизации и программирования. И потом уже языка, используемого в MMB.



Вечная память Андрею Сергееву!
 
skylynxДата: Понедельник, 30 Июня 2014, 11:27 | Сообщение # 12
Новый участник
Группа: Пользователи
Сообщений: 23
Репутация: 0
Награды: 0
Статус: Offline
если можно, то хотелось бы попросить набросать пример с коменарием в виде урока для простого квадрата 3х3. генерация комбинаций 3х3 так, чтоб сума чисел по-вертикали, горизонтали и диагоналях равнялась бы 15. хочу понять сам принцип на этом примере. остальное сам размножу до нужного. мне же надо от чего-то отталкнуться. можно упростить задачу. создать генератор для генерации трех чисел в диапазоне от 1 до 9, чтоб в суме выходило 15.

если возьму для каждого из трех чисел повешу по скрипту for...next, генерация будет рендомная. а вот чтоб она работала и в суме давала бы 15? вот как эти три for...next связать в одно целое? через if...then...else? и вот тут мысли путаются, мозг виснет.


Сообщение отредактировал skylynx - Понедельник, 30 Июня 2014, 12:00
 
YURIYДата: Понедельник, 30 Июня 2014, 11:58 | Сообщение # 13
Злостный админ
Группа: Администраторы
Сообщений: 3018
Репутация: 71
Награды: 28
Статус: Offline
Сожалею, но я под завязку забит работой... На такой проект у меня тоже уйдёт немало времени.

Вы, повторюсь, неправильно делаете. Хотите, не умея "читать по слогам", сразу прочитать трёхтомник, да ещё и за пару дней. Не бывает такого. Понимаю, что очень хочется. Но придётся сначала учиться...

Цитата skylynx ()
мне же надо от чего-то отталкнуться.


Вам нужно отталкиваться уж точно не от готового проекта :D Это не оттакливание будет, а медвежья услуга. Всё равно это будет иметь мало пользы для Вас. Для начала выучить основы, сделать более простые проекты, а потом найти самые оптимальные и понятные алгоритмы судоку и реализовать их в MMB. Все мы проходили именно такой путь. Другого не существует.



Вечная память Андрею Сергееву!
 
skylynxДата: Суббота, 05 Июля 2014, 16:51 | Сообщение # 14
Новый участник
Группа: Пользователи
Сообщений: 23
Репутация: 0
Награды: 0
Статус: Offline
1. взял с урока, сорри, "словоизвращалку". вбил свои 123456789.
2. разбил эту рендомную строку по буквах. теперь из-за этого в квадрате 3х3 нет совпадений чисел, так как "слово" 123456789 в рендоме только переставляет буквы местами.
3. чтоб в квадрате 9х9 эта хрень работала, в скрипте значения ячеек квадрата 3х3 копирую в определенные места на участке 9х9 (поскольку в остальных ячейках значения повторяются).

Юрий, я тем путем иду или есть стезя по проще? и вот еще. было бы интересней и матрикс задействовать. да заглоба. в уроках не нашол. как же связать значения ячеек с подсветкой в матриксе? там в уроке матрикса, есть кноп рендом и в нем осуществлен эфект мерцания ячеек матрикса. у него там 1-тупо зеленая, 2-"светлячек", 3-нажатая. так вот. как например связать число 5 с матриксовым 2? типа матрикс подсвечивает только число 5.

делаю условие:
If (a1$='1') Then
MatrixSet("Matrix[0,0]","1")
MatrixSet("Matrix[1,1]","2")
**Else
** MatrixSet("Matrix[0,0]","1")
End
...
If (a9$='1') Then
MatrixSet("Matrix[0,0]","1")
MatrixSet("Matrix[9,1]","2")
**Else
** MatrixSet("Matrix[0,0]","1")
End
работает прекрасно первая строка матрикса реагируя "бликом" на 1. подсвечивается 1 в любом месте в строке а1. но при вставке в конец копии такого блока, только для b1...b9, первая строка умирает, а 1 посвечивается только в строке b1...b9. в чем может быть ошибка? пробовал блоки в разные скрипты разнести с запуском их от другого скрипта, вообще не работает. где ж я так нагрешил то, а?

Добавлено (05 Июля 2014, 16:51)
---------------------------------------------
все. разобрался. спасибо за помощь

Сообщение отредактировал skylynx - Четверг, 03 Июля 2014, 09:48
 
  • Страница 1 из 1
  • 1
Поиск: