300000
English | Français | فارسی | 中文 | Українська | Azerbaijani | ខ្មែរ | Tiếng Việt | Bahasa Melayu | Deutsch | O'zbek | РусскийSliding Blocks ©©
Общее количество прослушиваний: 426408
Общее количество побед: 314602
Общее количество побед: 314602
Как играть
- Чтобы выиграть, переместите желтый блок к выходу.
- Чтобы переместить блок, щелкните и перетащите его или щелкните блок, а затем щелкните по пустому месту.
- Серые блоки нельзя перемещать.
Пазлы, показанные на этой странице, созданы и принадлежат Caribou Contests ©
Инструкции для редактора
- Используйте метки ширины и высоты, чтобы изменить размер доски.
- Выберите цвет под доской, чтобы выбрать, какой цветовой блок вы хотите разместить на доске.
- Нажмите на доску, чтобы разместить один блок этого цвета.
- Нажмите и перетащите курсор по доске, чтобы увеличить размер блока.
- Нажмите кнопку «Очистить доску», чтобы очистить доску и начать сначала.
- Нажмите «Создать случайную доску», чтобы случайным образом создать головоломку для редактирования.
- Нажмите кнопку «Играть в головоломку», когда хотите играть на доске.
- Нажмите «Отбросить головоломку», чтобы отменить редактирование и вернуться к обычной игре.
Сделанные ходы: 0
Ширина: Высота:
Трудность: Лёгкий Терпимая Трудный Каторжный Знаменитый
МедленныйБыстрый
Вы получаете максимальную отдачу от упражнений, сначала немного подумав, прежде чем расширять ответы на вопросы.
Веселитесь.
- Игра Sokoban похожа на Sliding Blocks по нескольким причинам.
-
- В обеих играх:
-
- Что-то нужно передвигать, и проблема в нехватке пустого пространства.
- Последовательности решений могут быть длинными.
- Дерево поиска узкое. Это означает, что если кто-то делает случайные ходы без плана, то вскоре возвращается в позицию, с которой сталкивался раньше. Это делает эти головоломки намного проще, чем, например, кубик Рубика, где случайные ходы практически никогда не вернут вас в исходное положение.
- Полезно сформулировать промежуточные цели. Подробнее об этом ниже.
- Чтобы изменить задачу, можно нажать кнопку «Создать пазл». Головоломка становится проще, если блоки заменяются пустым местом, или если большие блоки разбиваются на более мелкие блоки, занимающие то же место, или если неподвижные серые блоки превращаются в синие блоки, чтобы стать подвижными. Точно так же головоломка становится сложнее, если пустое место занимает новый блок, или если маленькие блоки объединяются в большие, или синий блок превращается в серый.
Наблюдая за анимированными решениями головоломок, можете ли вы заметить общий принцип этих решений, который может стать хорошей подсказкой для ваших собственных попыток решения?
- Далее дается одна подсказка.
Когда становится все труднее повернуть ключ в замке или когда цепь вашего велосипеда становится жесткой, что вы делаете?
- Вы можете нанести масло или смазку для уменьшения трения.
В Sliding Blocks мы также хотим перемещать блоки и, кажется, сталкиваемся с каким-то трением. Есть ли здесь подобная помощь?
- Роль смазки здесь выполняют небольшие блоки. Хорошей идеей будет иметь 2, а иногда и 3 маленьких блока между двумя большими блоками, особенно вокруг желтого блока, который нужно перемещать больше всего. Вот и обоснование.
- Предположим, что желтый блок имеет ширину в два небольших квадрата и его нужно переместить вниз.
- Тогда перед ходом под блоком должно быть два пустых места, а после переезда на месте блока будут два пустых места. Затем два пустых места над желтым блоком должны снова переместиться вокруг желтого блока, чтобы этот блок мог переместиться дальше. Чтобы перемещать два пространства вокруг желтого блока, окружающие блоки должны быть подвижными. Маленькие блоки легче перемещать, чем большие, например, за углом. Поэтому хорошей идеей будет иметь группы из 2, а иногда и 3 небольших блоков между большими блоками, особенно вокруг желтого блока, который должен перемещаться больше всего.
- Взгляните на решения сложных проблем и проверьте, как часто применяется приведенная выше рекомендация.
Чтобы найти длинные последовательности решений, полезно думать о коротких последовательностях как о строительных блоках, из которых состоят более длинные последовательности. Одной из типичных задач такой короткой последовательности является вращение блоков по кругу. Можете ли вы представить, как это делается?
- В качестве примера рассмотрим следующую позицию:
- Блоки 1, 2 и Y, а также два свободных места можно перемещать по кругу, и таким образом блок 1 или два свободных места могут быть размещены там, где они необходимы.
- Следующая позиция имеет два больших блока 1 и 3, но также больше места:
- Здесь все блоки также можно перемещать по кругу, что позволяет расположить блоки 1, 3 и пустое пространство там, где они необходимы.
- Оба круговых движения понадобятся в примере, описанном ниже.
- Строго говоря, да. Но в науке хорошо быть гибким и изобретательным. Как насчет того, чтобы рассматривать пустые места также как блоки, которые обладают особой способностью меняться местами с соседними блоками? Например, в физике твердого тела недостающие электроны в сетке атомов оставляют зазор, и такой зазор движется, как реальная частица, только с противоположным зарядом. Такое мышление облегчает объяснение, например, как работает транзистор.
- В нашей игре два круговых движения блоков, упомянутые в предыдущем пункте, также можно рассматривать как круговое движение двух пустых пространств в противоположном направлении.
Если Sokoban и скользящие блоки похожи, то какие стратегии решения Sokoban можно использовать в скользящих блоках?
- Поскольку в обеих играх дерево поиска узкое, в обеих играх можно разбить все решение на промежуточные цели. Для примера рассмотрим следующую головоломку:
- Желтый широкий блок Y должен пройти широкий блок 7, чтобы выйти. Как это должно быть возможно? Чтобы Y двигался вниз, нам нужны маленькие блоки вокруг Y, чтобы после первого перемещения Y пустое пространство над Y можно было переместить ниже Y, чтобы Y можно было переместить вниз дальше. Следовательно, два маленьких блока должны быть помещены между Y и блоком 1 или блоком 4, а затем необходимо освободить пространство под Y. Затем Y перемещается вниз, а 2 маленьких блока должны быть перемещены на новое свободное пространство над Y.
- Поэтому перед всем этим 1 или 4 должны быть перемещены вниз. Давайте возьмем 1. Чтобы переместиться на 1 вниз, блоки 6 и 9 должны быть отодвинуты в сторону. Согласно нашему предыдущему совету о том, что маленькие блоки расположены близко к желтому блоку, мы должны начать с перемещения 7 вниз, 6 и 9 в новое свободное пространство над 7, а затем переместиться на 1 вниз и теперь вращать Y и 3 и 5 по кругу, как описано ранее, чтобы Y и 3,5 поменялись местами. После всего этого у нас должна получиться результирующая позиция:
- Теперь мы можем либо переместиться на 1 вверх, либо мы можем переместить 5,3 и Y влево, а другие блоки вверх справа. Поскольку всегда сложнее пропускать большие блоки друг за другом, мы должны воспользоваться возможностью переместиться на 1 вверх. Что осталось сделать, так это переместить 9,6 влево, чтобы переместить Y вниз, переместить 3 под 5, и 4 влево, чтобы получить 8,0 вверх. Теперь описанное выше «вращение строительных блоков» используется для того, чтобы Y находился над выходом. Головоломка решена.
- В качестве общей стратегии, начните с конечной цели — убрать желтый блок, а затем вернитесь назад и сформулируйте необходимые под-под-под-поды-,... цели, которые в совокупности раскроют все решение.
- Отодвиньте большие блоки в сторону, желательно в угол подальше от выхода.
- Часто легко заметить, что некоторые блоки слишком велики, чтобы обойти друг друга. Осознавая такие ограничения движения, можно избежать догадок и бесплодных попыток и лучше сформулировать подцели.
- Чтобы продолжать движение большего блока, необходимо создать пустые места перед блоком, затем блок перемещается, что приводит к пустым местам за блоком. Эти образовавшиеся пустые пространства необходимо «переместить» в переднюю часть большого блока, чтобы переместить большой блок дальше. Для всего этого движения маленькие блоки нужны до и за большими блоками. Таким образом, первая последовательность ходов может быть направлена на то, чтобы поместить маленькие блоки там, где они понадобятся позже, вокруг больших блоков.
- Чтобы переместить большой блок, должно быть пространство в том направлении, куда он будет перемещен. Например, если блок имеет ширину 2 в одном направлении, но вся головоломка имеет только одно свободное место, то этот блок никогда не будет перемещаться в этом направлении, но может быть перемещен в направлении, перпендикулярном тому, где он более тонкий. Аналогично, если в головоломке всего 2 свободных места, а блок имеет ширину 3, то этот блок никогда не будет перемещаться в направлении, перпендикулярном этой ширине, потому что для этого потребуется 3 свободных места. Но блок может быть подвижным и в обратном направлении. Опять же, знание ограниченной подвижности облегчает поиск решения, поскольку вы знаете, в каком направлении каждый большой блок может быть только перемещен, и думаете только о таких перемещениях.
- Полезно «видеть» круги, в которых одно или два пустых места перемещаются по кругу вместе со всеми квадратами в круге. Такой круг может иметь форму прямоугольника. Перемещение всего (свободных мест и коробок) по кругу не задевает никаких других блоков за пределами круга и может показаться бессмысленным. Но побочный эффект от переноса небольших кубиков в определенное положение в круге может иметь решающее значение позже. Примером может быть место рядом с большим блоком, чтобы заполнить пустые места после перемещения этого блока. Мышление в терминах последовательности движений, таких как круги, а не отдельных ходов, позволяет мыслить глубже.
- Рекомендуемая стратегия обучения заключается в том, чтобы начинать с простых головоломок и медленно повышать уровень сложности. Если кто-то не может решить головоломку, то он наблюдает за анимированным решением в замедленной съемке, находит пропущенный ход, думает о цели этого хода, наблюдая за следующими ходами, и о том, как он мог бы увидеть эту цель.
Следите за обновлениями или подписывайтесь на них: