June 28th 2025

🎨 Игры сортировки цветов с неизвестными цветами

С тех пор как я создал и поделился решателем водной сортировки со всеми, люди обращаются ко мне с просьбой улучшить его функциональность для решения уровней, содержащих неизвестные цвета. Мне жаль разочаровывать вас, но я думаю, что пока не буду рассматривать это направление. 😅 Я хочу объяснить почему, а затем поделюсь некоторыми предложениями для уровней с неизвестными цветами.

Что такое игры сортировки цветов? 🧐

Эти игры включают несколько вариантов: Сортировка воды 💧, Сортировка шаров ⚽, Болты и гайки 🔩 и т.д. Хотя у них разные представления, их основные игровые механики одинаковы—все требуют от игроков завершить классификацию цветов через ограниченные шаги операций.

Почему решатели не могут решить уровни с неизвестными цветами? 🤖

Сам решатель не является магией ✨, он также следует мышлению обычных игроков при игре. Он не умнее людей и, конечно, не пророк 🔮. Его преимущества только:

  1. Сверхбыстрая скорость ⚡
  2. Сверхсильная память 🧠, абсолютно никогда не помнит неправильно
  3. Точный расчет 🧮, не путает вещи, потому что есть больше, что нужно помнить

То есть, чтобы решатель мог рассчитать точные шаги通关, он должен получить достаточно информации и знать все цвета. 🎯

На рынке много игр сортировки цветов, и их дизайн уровней обычно различается. Для уровней, содержащих неизвестные цвета, есть примерно два метода производства:

  1. Фиксированные уровни, где все цвета фиксированы, и некоторые цвета скрыты. 📦
  2. Динамические уровни, где все известные цвета фиксированы, но скрытые цвета не фиксированы, только определяются, когда вы раскрываете этот цвет. 🎲

Для фиксированных уровней вам нужно записать эти скрытые цвета. Когда они все раскрыты, это становится обычным уровнем. 📝 Я не тестировал конкретно много игр, но предполагаю, что большинство этого типа. Поэтому, когда вы сталкиваетесь с этими сложными уровнями, если действительно не можете их пройти, попробуйте записать эти скрытые цвета.

Для динамических уровней это очень хитрый дизайн, и в настоящее время, похоже, нет очень хорошего метода, потому что текущий уровень не детерминирован, поэтому решатель тоже не может помочь. Позже я расскажу о подходе к решению проблем для этих типов игр. После овладения правильным мышлением вы можете только попытать удачу. 🍀

Есть маленький трюк, чтобы отличить, какой тип у вашей игры. Это после раскрытия одного цвета, перезапустить этот уровень, затем снова раскрыть цвет той же позиции. Если этот цвет изменился, то это динамический уровень, иначе это фиксированный уровень. 🔍

Последняя проблема, которая мешает мне реализовать решатель уровня неизвестных цветов, это проблема взаимодействия. Если уровень не содержит неизвестных цветов, то после настройки уровня решатель может независимо завершить уровень. Это делает процесс "настройка", "вычисление", "просмотр ответа" очень простым и прямым. 🔄

Если он содержит неизвестные цвета, то программа должна остановиться при встрече с неизвестными цветами, ждать, пока игрок завершит предыдущие шаги, действительно раскроет этот цвет в игре, затем скажет программе этот цвет, затем продолжит игровой процесс. Затем снова встретить неизвестные цвета в середине, снова остановиться и ждать ввода пользователя. Этот процесс взаимодействия сделал бы программу решения очень раздражающей 😫, почти никому из пользователей это не понравилось бы. Хуже того, даже если бы это было так, потому что программа не знает эти цвета заранее, достижение текущего шага уже сделало уровень невозможным для прохождения. Поэтому в настоящее время эти уровни, содержащие неизвестные цвета, не могут иметь соответствующих решателей. 💤

На самом деле, содержит ли он неизвестные цвета или нет, есть термин, который может это описать: игры с полной информацией. Решатели могут решать игры с полной информацией. Вы также можете спросить, разве нет ИИ игр с неполной информацией в мире, как Техасский Холдем? Что в них другого? Если ИИ Техасского Холдема не жульничает, это, безусловно, игра с неполной информацией. Такие программы часто вычисляют оптимальные действия на основе вероятности. И вероятность означает неточность—кто знает, блефует ли противник? Но решатели должны вычислить точный результат для вас, путь, который определенно будет успешным. Вы не хотели бы, чтобы программа рассказала вам последовательность операций, которая является только наиболее вероятной операцией для прохождения уровня, верно? И сложные уровни в основном контр-интуитивны. 🎰

Предложения для уровней с неизвестными цветами 💡

После того как я сказал так много, вы можете устать от этого. Это просто чтобы сказать вам, что нет способа? Я действительно надеюсь помочь вам, поэтому поделюсь частью своего мышления, когда играю эти уровни.

Сначала, для обычных игр сортировки цветов, вам нужно овладеть некоторыми базовыми техниками. У меня есть другая статья, которая может помочь вам. 📚

Для уровней с неизвестными цветами, что нам нужно сделать, это внести некоторые корректировки в базовые техники:

1️⃣ Приоритизировать решение одного столбца 🏆

Когда я впервые встретил эти уровни, я всегда приоритизировал шаги, которые могли бы раскрыть больше цветов быстрее, обычно решая что-то из каждого столбца. Но по мере увеличения сложности я обнаружил, что этот подход был неправильным. Вам нужно принимать решения на основе вашей текущей ситуации с пустым пространством. Большую часть времени пустые пространства довольно тесные, вам нужно сначала полностью решить цвета одного столбца, что может помочь вам быстро собрать один полный цвет и уменьшить сложность текущего уровня.

2️⃣ Максимально использовать отмену ↩️

Когда вы раскрываете цвет и обнаруживаете, что это не то, что вы хотели, тогда используйте отмену соответствующим образом, затем выберите другой столбец. Иногда, когда вы можете, вы должны всегда пытаться раскрыть разные цвета, затем тщательно думать о том, какой цвет наиболее выгоден для вас. Отменить, затем выбрать цвет, который наиболее выгоден для вас, и продолжить.

3️⃣ Очистить один столбец как можно скорее 🗑️

Иногда я привычно пытаюсь сложить один цвет на столбцы с большим пространством. Но когда я останавливаюсь и думаю об этом, это неправильно. Я должен очистить один столбец как можно скорее и использовать этот столбец как точку хранения для операций отмены. Поэтому много раз я выбираю сложить последние несколько цветов одного столбца выше, что может помочь быстро очистить этот столбец. В сочетании с отменой, если цвета внизу в этом столбце не идеальны, я посмотрю, могу ли я начать очистку с другого столбца.

4️⃣ Наслаждаться весельем, приносимым неопределенностью 🎮

Ну, это не совсем игровой совет. Просто иногда думайте о том, почему я играю в эту игру, действительно ли я наслаждаюсь ею? 😊 Для меня, много раз мне нравятся эти типы игр, но когда я чувствую, что это заставляет меня платить или смотреть рекламу, я больше не нахожу это забавным. Но я также полностью понимаю этих разработчиков игр—сделать прибыльную игру не так просто. Большую часть времени я счастлив заплатить немного денег за игры, которые мне нравятся. 💰

Хорошо, это все, что я хочу поделиться, надеюсь, это поможет всем. 🙏