Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Последний Герой Онлайн 2.0 > Задача а-ля Энштейн > Кстати, тоже ведь а-ля Эйнштейн


Автор: alea Май 18 2017, 16:55
Сделал недавно тут такое во время 48-часовых соревнований по программированию: http://sherlock.netmafia.ru...

Идея не моя, но уж больно мне понравилась. Смысл в том, что, имея текущую ситуацию на доске и подсказки, определить верное положение для каждой картинки и целиком открыть доску.
Доска состоит из шести рядов, в каждом ряду по шесть картинок, объединенных общим признаком для ряда. Например, знаки зодиака могут быть только во втором ряду, а средства передвижения - в пятом.
Изначально какие-то клетки могут быть уже открыты (это те, в которых одна большая картинка), в остальных - несколько маленьких (это те варианты, которые МОГУТ быть в этой клетке). Используя подсказки, вы либо убираете из клеток те элементы, которые там точно быть не могут (правый клик), либо однозначно ставите картинку в клетку, если вы пришли к выводу, что она должна быть здесь (левый клик).

Что означает каждая подсказка, можно понять, наведя на нее курсор мыши и подождав - откроется описание.
Правда, на английском (соревнования были международные smile.gif), но там все просто.

Если что-то не понятно - задавайте вопросы smile.gif

Автор: SleepWalker Май 18 2017, 18:14
Здорово. :)
Одно время была одной из моих любимых игр. :)

Кстати, для телефона есть версия. Но мне старая досовская больше нравится. :)

У меня только один вопрос: а как генерируются задачи? :)

Автор: Netashka Май 18 2017, 18:54
Прикольная игра) Чем-то судоку напоминает ещё.

Цитата (alea @ Май 18 2017, 11:18)
Если что-то не понятно - задавайте вопросы smile.gif

А крайние колонки между собой являются соседями?

Автор: SleepWalker Май 18 2017, 18:59
Цитата (Netashka @ Май 18 2017, 18:17)
А крайние колонки между собой являются соседями?

Нет.

Автор: Кросс Май 18 2017, 20:03
Не хватает таблицы результатов со временем.

Автор: alea Май 18 2017, 20:38
Цитата (SleepWalker @ Май 18 2017, 13:37)
Здорово. :)
Одно время была одной из моих любимых игр. :)

Кстати, для телефона есть версия. Но мне старая досовская больше нравится. :)

У меня только один вопрос: а как генерируются задачи? :)

У, это ноу-хау smile.gif

На самом деле как генерить набор подсказок к определенной комбинации на картинок я так и не придумал, и в итоге пошел от противного. Генерируется случайная расстановка на доске, к ней создается заведомо избыточный случайный набор подсказок (50 штук), затем с помошью этих подсказок алгоритм пытается найти решение. Если получается - рекурсивно подсказки выкидываются по одной и снова компьютер пытается решить задачу. На каком-то этапе решение не находится, в этот момент мы вспоминаем последний набор, с корорым решение все-таки существовало, и объявляем его необходимым набором подсказок.

Думал, будет сильно тормозить вся эта логика, ан нет - обычно за полсекунды все генерится.

Автор: alea Май 18 2017, 20:56
Цитата (Кросс @ Май 18 2017, 15:26)
Не хватает таблицы результатов со временем.

Расклады бывают крепко разные. Иногда один пролетается на ура, а второй мучаешь пару часов. Неправильно тут на время смотреть, имхо.
Хотя подобное замечание я тоже от судей слышал smile.gif

Автор: Netashka Май 18 2017, 21:18
Кнопка "вернуть последнюю правильную расстановку" даёт возможность читерить)))

Автор: Кросс Май 18 2017, 22:09
Цитата (alea @ Май 18 2017, 16:19)
Расклады бывают крепко разные. Иногда один пролетается на ура, а второй мучаешь пару часов. Неправильно тут на время смотреть, имхо.

Я оценил, да. Но тут нам на помощь придет теория вероятности :) Все расклады не могут быть неудачными. А если кто-то сыграл тысячу раскладов и все объективно сложные, то он неудачник и ему нечего делать в таблице на первом месте о_О

Цитата (Netashka @ Май 18 2017, 16:41)
Кнопка "вернуть последнюю правильную расстановку" даёт возможность читерить)))

Кстати, да. Только что прошел хрен знает какой сложности расклад за полторы минуты :)
С мышкой было бы быстрее :)

Автор: Rose1 Май 18 2017, 23:59
Цитата (Netashka @ Май 18 2017, 16:41)
Кнопка "вернуть последнюю правильную расстановку" даёт возможность читерить)))

Вот люди, хлебом не корми - дай какую лазейку найти angel.gif

Автор: Jellyfish Май 19 2017, 00:42
Класс :)

Автор: Кросс Май 20 2017, 03:35
Кстати, подсказки дублируются.

1 - М - вишня
М - такси

1 ^ такси

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)