Water sort, ball sort, nut sort и hoop sort выглядят по-разному, но это одна и та же головоломка. Вы перемещаете верхний элемент одного контейнера в другой и побеждаете, когда каждый контейнер содержит только один цвет или пуст. Правила под разными темами одинаковы, поэтому одно руководство по стратегии охватывает их все. Это то самое руководство, с отдельным разделом в конце для тех немногих вещей, которые отличаются от игры к игре.
Что такое головоломка на сортировку цветов?
В каждом варианте сортировки цветов вам даётся набор контейнеров (пробирок, стержней, болтов, как бы их ни называла тема), каждый из которых содержит стопку цветных элементов. Вы можете взять только верхний элемент стопки и можете положить его только в контейнер, который пуст или верхний элемент которого уже совпадает по цвету с тем, что вы перемещаете. Головоломка решена, когда каждый контейнер либо пуст, либо заполнен одним однородным цветом.
Это весь набор правил. Всё, что дальше, — о том, как играть в это хорошо.
Пошаговая стратегия для начинающих
Шаг 1. Прочитайте поле, прежде чем его трогать
Прежде чем делать ход, просканируйте каждый контейнер. Отметьте, в каких цветах уже есть два или больше совпадающих элемента, сложенных вместе: это ваши ближайшие победы. Отметьте, какие цвета разбросаны по нескольким контейнерам: с ними придётся повозиться больше всего. Пять секунд на чтение экономят гораздо больше, чем пять секунд на отмену неудачных ходов.
Шаг 2. Освободите хотя бы один контейнер
Пустой контейнер — единственное место, куда можно положить любой цвет. Без него каждый ход должен совпадать с уже существующим верхним элементом, и ваши варианты быстро сужаются. Первые ходы обычно должны быть направлены на то, чтобы освободить хотя бы один контейнер, даже если это пока не выглядит прогрессом.
Шаг 3. Завершайте один цвет за раз
Не распыляйте усилия сразу на четыре цвета. Выберите цвет, который ближе всего к завершению, и доведите его до конца. Завершённый контейнер решён навсегда: его нельзя снова «перемешать», и обычно он становится свободным рабочим пространством для всего остального.
Шаг 4. Думайте на два-три хода вперёд
Прежде чем сделать ход, спросите себя, что он готовит. Открывает ли он контейнер? Открывает ли доступ к нужному цвету? Позволяет ли объединение на следующем ходу? Ход, который выглядит хорошо сам по себе, но никуда не ведёт, хуже, чем менее заметный ход, открывающий цепочку.
Продвинутые техники
Работайте снизу вверх
Если нужный вам цвет погребён под другими, придётся расчистить то, что сверху. Иначе никак. Делайте это по плану: знайте, куда отправится каждый блокирующий элемент, прежде чем поднимать его, а не переставляйте блокираторы наугад в надежде на удачу.
Держите цвета вместе
Каждый раз, когда цвет оказывается разбросан по дополнительному контейнеру, позже это стоит больше ходов, чтобы снова его собрать. Если есть выбор, объединяйте цвет в меньшем числе контейнеров, а не в большем, даже если сейчас это стоит лишнего хода.
Используйте пустые контейнеры как буфер
Пустой контейнер служит двум целям: заканчивать цвета и временно хранить то, что вам мешает. Переместите туда блокирующий цвет, заберите то, что было под ним, а затем переместите блокиратор на его настоящее место (или обратно). Именно так решается большинство нетривиальных уровней.
Ищите цепочки ходов
Самые сильные ходы открывают следующий ход, а не просто хорошо выглядят сами по себе. Перемещение элемента A открывает доступ к элементу B, который завершает стопку, которая освобождает контейнер. Прежде чем сделать ход, проверьте, можете ли вы назвать, что он открывает. Если не можете, это, вероятно, не тот ход.
Заметки по конкретным вариантам
Основная стратегия выше работает для любой игры на сортировку цветов, но о трёх вещах стоит знать применительно к конкретным вариантам.
У hoop sort есть особенность с вместимостью, которой нет у остальных. Большинство полей water sort и ball sort используют контейнеры одинаковой высоты, поэтому любой контейнер в итоге может вместить любой цвет. Уровни hoop sort часто смешивают короткие и высокие стержни на одном поле, и короткий стержень заполняется быстрее, чем ожидаешь. Отсюда следуют две вещи: сверяйте высоту каждого стержня с количеством колец нужного цвета, прежде чем решаться на объединение, и предпочитайте высокие стержни как постоянное «место жительства» для цвета, поскольку они вмещают больше, прежде чем переполниться. Используйте короткие стержни как временное место для одного-двух блокираторов, а не как окончательное назначение цвета.
«Переливание» в water sort — тот же ход, что и у всех остальных. Выглядит иначе: слои жидкости анимированно переливаются, а не перепрыгивают, как один шарик или гайка. Но переливание, перемещающее несколько последовательных слоёв одного цвета сразу, механически остаётся одним ходом, а не несколькими. Стратегия выше применяется без изменений.
Nut sort, ball sort и bolt sort различаются только названием, а не механикой. Как бы приложение ни называло фигуры (гайки на болтах, шарики в пробирках, кольца на стержнях), лежащая в основе логика — одна и та же задача поиска по графу. Если вы решили один вариант, вы уже умеете решать остальные.
Когда использовать решатель
Некоторые уровни сложны, а некоторые вообще нерешаемы: никакая последовательность допустимых ходов не приводит к завершённому полю. Если вы застряли больше чем на пару минут, это сигнал перестать гадать и проверить. ChromaOracle использует поиск в ширину (BFS), который находит кратчайшее возможное решение, если оно существует, и сразу сообщает, если его нет.
Если на вашем поле есть скрытые или неизвестные цвета, режим «Тайна» анализирует все возможные варианты расположения за неизвестными и показывает ходы, безопасные независимо от того, чем они окажутся. Это полезно и для water sort, и для ball sort, nut sort и hoop sort.
Частые ошибки, которых стоит избегать
- Слишком рано тратить последний пустой контейнер: это ваш единственный гибкий ресурс; держите хотя бы один свободным как можно дольше.
- Разбивать цвет на большее число контейнеров: каждое разделение добавляет ходы, которые позже понадобятся, чтобы его отменить.
- Игнорировать погребённые цвета: цвет, застрявший на дне контейнера, становится только труднее достать, чем дольше вы ждёте.
- Ходить без плана: ход должен что-то готовить, а не просто быть доступным.
- Считать, что сложный уровень обязательно решаем: некоторые нет; проверьте, прежде чем тратить на него двадцать минут.
Часто задаваемые вопросы
Water sort, ball sort, nut sort и hoop sort — правда одна и та же головоломка?
Механически, да, в подавляющем большинстве приложений. Визуальная тема меняется (жидкость, шарики, гайки, кольца), но правила ходов (взять верхний элемент, положить в пустой или подходящий контейнер) и оптимальная стратегия одинаковы. Единственное реальное исключение — смешанные высоты стержней в hoop sort, о чём говорилось выше.
Какой ход лучше всего сделать первым?
Любой ход, который либо открывает пустой контейнер, либо объединяет цвет, уже в основном собранный вместе. Избегайте первого хода, который разбрасывает цвет по дополнительному контейнеру. Позже вы за это заплатите.
Может ли головоломка на сортировку цветов быть нерешаемой?
Да. У некоторых расположений на поле нет ни одной последовательности допустимых ходов, ведущей к полностью отсортированному состоянию. Решатель определяет это мгновенно, вместо того чтобы вы узнавали об этом после десяти минут попыток.
Сколько ходов нужно для типичного уровня?
Зависит от размера поля и того, насколько перемешаны цвета в начале. Маленькие поля можно решить меньше чем за дюжину ходов; более крупные или сильнее перемешанные могут потребовать тридцать и больше. Решатель на основе BFS находит минимум для любого заданного поля.
Как справляться с уровнем со скрытыми цветами?
Введите неизвестные как неизвестные и используйте режим «Тайна». Он определяет, какие ходы безопасны независимо от того, какой цвет скрывается за неизвестными, чтобы вы могли продвигаться до того, как каждый цвет будет раскрыт, а затем повторно вводите поле по мере появления новой информации.