![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 20.09.2010
Сообщений: 37
|
![]()
Добрый день. Необходимо создать игру маджонг (тот, который пасьянс, т.е. на одного человека). Интересует, есть ли у кого-нибудь алгоритм построения этой пирамиды, чтобы результат был решаемым? Просто в случайном порядке это делать не вариант, могут возникнуть тупиковые ситуации. Может быть у кого есть готовый алгоритм, или собственные наработки? Заранее спасибо.
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
сразу оговорюсь, в данном вопросе я не специалист.
Но выскажу свою мысль. Мне кажется, что если помещать фишки в случайные места сразу парами (причём так, чтобы у них была свободная сторона). Ведь программа, начав заполнение от пустого поля и заполнив его до нужной формы, всегда получит решаемый расклад. |
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 20.09.2010
Сообщений: 37
|
![]()
Спасибо, я тоже пришел к этой мысли. В принципе можно придумать несколько разных алгоритмов, я просто подумал что данная тема наверняка не нова, и может быть у кого то уже есть готовые решения, и достаточно сложные.
Тут получается основной вопрос в определении свободной стороны. Если например заполнять просто сначала внешний диаметр пирамиды грубо говоря (если сделать пирамиду с один уровень для начала), то алгоритм будет слишком прост и, один раз поняв эту фишку, играть дальше будет неинтересно. |
![]() |
![]() |
![]() |
#4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]() Цитата:
|
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 20.09.2010
Сообщений: 37
|
![]()
Я же правильно понял, Вы предлагаете заполнять сначала по внешнему диаметру, а затем продвигаясь ближе к центру мы также заполняем парами (так как внешний уровень "сгорит", этот уровень тоже сжигаем. Верно?)
|
![]() |
![]() |
![]() |
#6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
да. Вы правильно поняли.
И, действительно, в этом случае пары будут на одном уровне - это банально примитивно и очень просто для решения. Надо действовать по другому - более хитро... |
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 20.09.2010
Сообщений: 37
|
![]()
Ни у кого больше нет никаких идей?
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Создание OC | Shift_sk | Операционные системы общие вопросы | 17 | 29.03.2011 16:39 |
Создание БД | Mythbuster | Microsoft Office Access | 1 | 11.01.2011 14:43 |
Создание | gadilla_cs | Общие вопросы Delphi | 12 | 10.12.2010 17:56 |
Создание ОС | misher | Операционные системы общие вопросы | 2 | 17.07.2010 00:32 |