Как пройти учи ру программирование сокобан 4 уровень
ChronoShift-это простая пошаговая головоломка. Берущая идеи из [chronotron] 1 и [Sokoban] 2. Патчи и исправления ошибок приветствуются. 🙂 Чтобы пройти уровень. Вы $ . /main.py [путь/к/уровень-или-кампания] Пример: $ . /main.py
(По умолчанию) Кеймапинги следующие:
- WASD (или клавиши со стрелками) для перемещения
- Пробел для пропуска поворота
- Enter для входа в машину времени (активный клон должен быть на машине времени)
- Прыжок во времени
- Одна строка на клон.
Имейте в виду, что попытка сделать
незаконный шаг будет считаться действием!
Все допустимые действия выполняются
Цель состоит в том, чтобы получить цель (показанную в виде дома банкомата) и вернуться к началу (выделенная голубоватая земля). Решение должно быть детерминированным и не вызывать временных парадоксов!
Парадокс времени и недетерминизм
Есть два способа провалить уровень. Один пытается вызвать недетерминизм, а другой-вызвать парадокс времени.
Недетерминизм может возникнуть, если два разных действия в одном и том же повороте действительны сами по себе, но оба не могут произойти. Это может произойти, если два клона пытаются толкать один и тот же ящик в ортогональных направлениях (параллельные направления
Обратите внимание, что игра сообщает об этих ошибках как о временном парадоксе.
Парадоксы времени возникают, если ваше Если бы он не вернулся в машину времени, он не смог бы стать
Наконец, это решение не может привести к тому, что клон или ящик закончат свой ход на закрытых воротах. Также клон и ящик не могут использовать одно и то же поле в конце хода.
Взаимодействие с игровым миром
В игровом мире есть несколько различных элементов. Которые можно использовать для достижения цели (или встать у вас на пути):
- поле
- Поле-это просто квадрат в игровом мире. На нем может быть ящик или 1+ клон(ы).
- Представлена
- Непроницаем как для ящиков, так и для клонов.
- Представлен
- Ворота либо открыты (ведут себя как поле), либо закрыты (ведут себя как стена). Его состояние можно переключать кнопками.
- Представлен костровым кругом. Она проходима, если огонь погас, и непроходима, если есть огонь.
- Кнопка изменяет состояние ворот. Пока на нем находится ящик или клоны 1+, кнопка В противном случае он деактивируется.
- Представлен небольшим кругом, который либо
- Толкаемая стена. Его толкают те же правила, что и Сокобана.
- Представлен ящиком.
- Машина времени-это место начала.
- Представлена фиолетово-черной плиткой.
- Поле, которое вы должны получить.
- Представлен золотой монетой (исчезнет при получении)
- Кнопки могут воздействовать на несколько ворот.
- Две (или более) кнопки могут управлять одними и теми же воротами.
- Две кнопки, управляющие одними и теми же воротами, будут гасить друг друга, если обе активированы.
- Это правило обобщается как
Как и в некоторых играх Сокобан, вы оцениваетесь по количеству сделанных ходов. Таким образом, более низкий балл лучше (то есть эффективнее), чем высокий.
Правила подсчета очков таковы:
Фактический счет, отображаемый игроку, передается по формуле, чтобы он упал со 100 до 0.
В настоящее время нет реального процесса установки. Известны следующие зависимости:
- python 2.7
- pygame
- пгу-0.18 (встроенный)
Пакеты Debian/Ubuntu для них:
Примечание: Даже если у вас есть python2.7, ваш файл /usr/bin/python может указывать на python2.6. Если это так, замените его:
$ python2.7 ./main.py [путь/к/уровню-или-кампании]
Написание уровня можно сделать простым вводом уровня. Этот формат таков:
Первая строка должна быть
Строка 2 до первой пустой строки-это представление карты (в ASCII). Каждая линия должна иметь одинаковую ширину, и они должны быть повсюду на карте. Доступны следующие глифы:
После репрентации идет секция для соединения кнопок с воротами. Этот раздел можно опустить, если он не нужен и никакой раздел не следует за ним. Поддерживаются следующие правила:
Последний раздел-это метаданные Он использует синтаксис управляющих файлов Debian (аналогично почтовым заголовкам) и состоит не более чем из одного абзаца. Его можно опустить, если в нем нет необходимости. Следующие поля имеют определенный смысл.
- Описание
- Краткое удобочитаемое описание уровня. Он может быть представлен до того, как будет сыгран уровень.
- Решение проблемы на уровне (см. Это также используется для тестирования игры.
Поле решения карт (если оно имеется) состоит из ряда Пробелы (и обязательное Кодировка выглядит следующим образом:
Я создал алгоритм для автоматического генерирования задач сокобана возрастающей сложности. Проверьте это! Первые уровни тривиальны, но где-то около уровня 10, возможно, 15, вы обнаружите. Что головоломки становятся довольно сложными.
Я хотел бы поблагодарить Мурасе-сан, Мацубару-сан и Хирагу-сан. Которые обратились к этой теме в научной работе под названием В общем. Мой алгоритм принципиально отличается от их. Но первый шаг (генерация комнат) выполняется так. Как описано в статье.Кстати, я должен предупредить вас, что эта игра очень затягивает. Вооружитесь большим количеством кофе и чипсовой музыкой.
Обсудите эту страницу
Отказ от ответственности: Я не несу ответственности за то, что люди (кроме меня) пишут на форумах. Пожалуйста, сообщайте о любых злоупотреблениях. Таких как оскорбления, клевета. Спам и незаконные материалы. И я приму соответствующие меры. Не кормите троллей.
Jag tar inget ansvar för det som skrivs i forumet. Förutom mina egna inlägg. Vänligen rapportera alla inlägg som bryter mot reglerna. Så ska jag se vad jag kan göra. Som regelbrott räknas till exempel förolämpningar, förtal. Spam och olagligt material. Mata inte trålarna.
Аноним
Я смотрел на уровень 100 и выше, и они были довольно злыми.
Вт 5-Авг-2008 17:05Надеюсь, я не задушил ваш веб-сервер их генерацией!
Насколько быстр алгоритм решения, и как он сравнивается с тем. Что было в оригинальной статье. Которая вдохновила вас. И как быстро он (ваш собственный алгоритм) может решить f.ex типичный уровень 100 в данной системе?
lft
Я смотрел на уровень 100 и выше, и они были довольно злыми. Надеюсь, я не задушил ваш веб-сервер их генерацией!
Linus Åkesson
Tue 16-Sep-2008 22:02Насколько быстр алгоритм решения, и как он соотносится с тем. Что было в оригинальной статье. Которая вдохновила вас. И как быстро он (ваш собственный алгоритм) может решить f.ex типичный уровень 100 в данной системе?
Решение является би-продуктом алгоритма генерации головоломок. Так что это не займет никакого дополнительного времени.
Аноним
Пт 1-Май-2009 00:45очень хорошая работа! я люблю эту игру. уровни становятся все более и более сложными. Но вы никогда не знаете. Будет ли следующий легким или нет. 🙂 есть ли какой-нибудь способ установить программу на мобильный телефон? насколько сложен алгоритм генерации уровней?
lft
Linus Åkesson
Пн 4-Май-2009 20:10очень хорошая работа! я люблю эту игру. уровни становятся все более и более сложными. Но вы никогда не знаете. Будет ли следующий легким или нет. 🙂 есть ли какой-нибудь способ установить программу на мобильный телефон? насколько сложен алгоритм генерации уровней?
Спасибо! Для алгоритма требуется много оперативной памяти, поэтому он, вероятно. Неосуществим для мидлета. Когда-нибудь, когда у меня будет время. Я опубликую исходный код и описание алгоритма.
Аноним
Чт 7-Май-2009 19:43lft написал:
очень хорошая работа! я люблю эту игру. уровни становятся все более и более сложными. Но вы никогда не знаете. Будет ли следующий легким или нет.
🙂 есть ли какой-нибудь способ установить программу на мобильный телефон? насколько сложен алгоритм генерации уровней?
Спасибо! Для алгоритма требуется много оперативной памяти, поэтому он, вероятно. Неосуществим для мидлета. Когда-нибудь, когда у меня будет время. Я опубликую исходный код и описание алгоритма.
О, супер! Меня очень интересует исходный код. Чтобы избежать проблемы с оперативной ПАМЯТЬЮ. Можно было бы разбить программу на
Приветствую вас. Анонимный писатель =)
Анонимное
Совершенно потрясающе. Вы должны перенести его на Android/iPhone.
Солнце 25-июля-2010 04:01Не знаю, сколько памяти вам нужно. Но новые устройства имеют много свободного места. Альтернативно. Опубликуйте источник 😉
Баг, или я просто делаю это неправильно?
Anonymous
Sun 25-Jul-2010 13:41Anonymous
Совершенно потрясающе. Вы должны перенести его на Android/iPhone. Не знаю, сколько памяти вам нужно. Но новые устройства имеют много свободного места. Альтернативно. Опубликуйте источник 😉
Sun 25-Jul-2010 14:17Баг, или я просто делаю это неправильно?
Я думаю, что это действительно очень трудно. Я должен был сдаться. Но есть решение. Первый шаг-подтолкнуть смельчака к себе наверх, затем открыть путь вниз. Тогда вы сможете сделать все остальное.
Аноним
Чт 19-Авг-2010 22:31Аноним
Чт 19-Авг-2010 22:37хар-хар просто шучу, это решаемо просто очень странно :Б
Аноним
Совершенно потрясающе. Вы должны портировать его на Android/iPhone.
Сб 16-Окт-2010 21:39Не знаю, сколько вам нужно памяти. Но на новых устройствах ее очень много. Как вариант. Опубликуйте источник 😉
Баг, или я просто делаю это неправильно?
Это возможно. Я решил ее за 17 ходов. Много манипуляций, однако.
Аноним
Пн 22-Авг-2011 16:23есть ли у этой проблемы решение?
Аноним
Чт 10-Нояб-2011 16:40есть ли у этой проблемы решение?
Да, я нашел решение в 19 оборотах.
Аноним
Пн 9-Янв-2012 04:56Аноним
Пт 13-янв-2012 03:32О! Я ее разгадал!
Анонимное
Ср 29-Фев-2012 06:18Читайте также: