Необходимо войти или зарегистрироваться

Авторизация

Введите логин, email или номер телефона, начинающийся с символа «+»
Забыли пароль? Регистрация

Новый пароль

Авторизация

Восстановление пароля

Авторизация

Регистрация

Выберите, пожалуйста, ник на пикабу
Номер будет виден только вам.
Отправка смс бесплатна
У меня уже есть аккаунт с ником Отменить привязку?

Регистрация

Номер будет виден только вам.
Отправка смс бесплатна
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
Авторизация

Пост

Пост

Текстовый квест "Икебана" в Космических Рейнджерах

netwizard

На днях решил снова сыграть в такую древнюю игру, как Космические Рейнджеры, и наткнулся там на этот квест.


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

Текстовый квест "Икебана" в Космических Рейнджерах Космические рейнджеры, Прохождение, Икебана, Математика, Длиннопост

Тут я задался вопросом: существует ли какая-то беспроигрышная стратегия?

Немного погуглив, я нашел этот совет.

Квест этот весьма сложен и непредсказуем, так что дам только основную стратегию, с которой можно выиграть в большей части случаев. Нужно делать первый ход и этим ходом добиваться, чтобы на поле осталось четное количество чётных чисел. Приведу пример: имеется следующая икебана: красный - 1, жёлтый - 2, зелёный -1, синий - 2, фиолетовый - 0. Чётных чисел здесь 3 - от жёлтого (2), синего (2) и фиолетового (0) цветов. Нужно добавить либо красный, либо зелёный цвет до двух. Далее необходимо повторять действия соперника, то есть если он увеличивает число цветков с 2 до 3, то надо у другого цвета сделать то же самое.

Неплохо, подумал я, но, увы, эта тактика не всегда ведет к победе.

Тогда, поразмыслив, я сделал следующие простейшие наблюдения.


Я побеждаю, если нет {0,1}, а число двоек нечетно. 22222, 22233 - моя победа.

Я побеждаю, если оставлю компьютеру четное число двоек.

Я побеждаю, если единица всего одна и нет нулей. Тогда я смогу оставить компьютеру четное число двоек. 12222 - моя победа.


И так далее... наблюдений было сделано много, но они годились только для поздней стадии игры, а к тому времени компьютер уже успевал поставить меня в проигрышное положение. Для того, чтобы оценить верные/неверные ходы при раскладе 00101 у меня просто не хватало мозгов.


Однако не все так плохо! Сделаем подробный анализ игры. Каждый цвет может принимать значения от 0 до 3. Потратив полчаса в Excel'е, можно с уверенностью сказать, что количество всех возможных комбинаций составляет 55 (за вычетом дубликатов и комбинации 33333).


Неплохо! Едем дальше. Выпишем все возможные состояния на диаграмму и упорядочим их по сумме всех цифр (макс. 14).

Текстовый квест "Икебана" в Космических Рейнджерах Космические рейнджеры, Прохождение, Икебана, Математика, Длиннопост

Теперь начнем окрашивать в зеленый те комбинации, которые однозначно принесут нам победу, а в синий - те, которые однозначно принесут компьютеру поражение!

23333 - зеленый

22333 - синий

Текстовый квест "Икебана" в Космических Рейнджерах Космические рейнджеры, Прохождение, Икебана, Математика, Длиннопост

Окрасим в зеленый те блоки, которыми можно загнать компьютера на синие.

Например, из 02333 можно получить 22333. И компьютер терпит поражение.


Окрасим в синий те блоки, из которых НИКАК нельзя прийти в другие синие блоки.

Из них можно получить только зеленые блоки, которые ведут к нашей победе =)

Текстовый квест "Икебана" в Космических Рейнджерах Космические рейнджеры, Прохождение, Икебана, Математика, Длиннопост

Полчаса несложных вычислений на бумаге, и - готово! Наслаждаемся игрой, раз за разом одерживая над компьютером победу! Нужно просто каждым ходом загонять его на синие блоки.

P.S. Получить быстрый доступ ко всем квестам можно, нажав в главном меню q.

P.S.S. Сделано на сайте draw.io

Текстовый квест "Икебана" в Космических Рейнджерах Космические рейнджеры, Прохождение, Икебана, Математика, Длиннопост

UPD Математическое обоснование #comment_136426712

161 комментарий
sayakto74
+45

А методом тыка этот квест за 10 мин проходится.

+45
раскрыть ветку 34
netwizard
+13

Обнаружил небольшую ошибку. Поднимите этот коммент наверх.

Коммент для минусов снизу.

Иллюстрация к комментарию
+13
раскрыть ветку 22
Аватар пользователя iooj iooj
0

У меня тактика в 2019 раз проще :) В один if then else. Сыграем?) Указывай начальную комбинацию. Первый ход мой

0
раскрыть ветку 21
netwizard
+33

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

IfYouKnowWhatIMean.jpg

+33
раскрыть ветку 5
Аватар пользователя kannabie kannabie
+4

я, в своё время, на бумажке все это высчитывал. получилось примерно то же самое)

+4
D3code
0

А можно было без извращений свести все к алгоритму из трех строк за 3 минуты=)

0
AleksSol
0

Вообще, перебор всех вариантов - не всегда нужное и возможное занятие. =)

Это легкая модификация известнейшей в математике игре Ним.
https://ru.wikipedia.org/wiki/%D0%9D%D0%B8%D0%BC_(%D0%B8%D0%...
Только мы не берем камни из кучи, а добавляем лепестки. (Как бы отнимаем те лепестки, которых нам до трех не хватает)
Ну и общая стратегия достаточно проста. =)
Если интересно именно решить, можно доказать, что эта стратегия выигрышная самому, это достаточно легко. =)

0
раскрыть ветку 1
sayakto74
-1

У каждого свой метод.

IfYouKnowWhatIMean.jpg

-1
WellNO
0

Когда как) Иногда и за 5 минут, а иногда можно часа 3-4 биться)

0
раскрыть ветку 1
Аватар пользователя pikabuuser015 pikabuuser015
+1

Мы всё ещё про квест говорим?

+1
netwizard
-2

Для минусов.

-2
D3code
-3

Методом тыка - не наш метод=)
Методом тыка - лучше в дотку.

-3
раскрыть ветку 1
Аватар пользователя pribluden pribluden
+2

лучше в девушку

хотя откуда мне знать

+2
Аватар пользователя Ambitious Ambitious
+32

Любил в рейнджерах иногда засеть в тюрьму за тренировкой таракана или боями без правил)

+32
раскрыть ветку 8
Аватар пользователя Nable Nable
+7

а как же прокачка ума? )

"вы - голова"

+7
раскрыть ветку 6
Аватар пользователя SnakePlisskin SnakePlisskin
+3
Кстати, а что это кроме бонуса при игре в карты давало?
+3
раскрыть ветку 5
Аватар пользователя Spoiling Spoiling
+9

только ради таракана туда был рад вернутся)

+9
Аватар пользователя Shpiggit Shpiggit
+7

Не совсем понял, в чём тут разница:

Теперь начнем окрашивать в зеленый те комбинации, которые однозначно принесут нам победу, а в синий - те, которые однозначно принесут компьютеру поражение!
+7
раскрыть ветку 4
netwizard
+2

То есть зеленые - принесут тому, кто ходит, победу.

Синие - принесут тому, кто ходит, поражение.

22222 - зеленый блок.

22333 - синий блок.


Нужно заставить компьютера натыкаться на синие блоки, а самому ходить на зеленые.

+2
раскрыть ветку 3
Аватар пользователя Shpiggit Shpiggit
+9

Но разве "нам победу" и "компьютеру поражение" это не одно и то же?

+9
раскрыть ветку 2
Аватар пользователя Skailon Skailon
+4
Иллюстрация к комментарию
+4
раскрыть ветку 3
netwizard
+3

Отчего-то мне кажется, что автор квеста живет во Владивостоке. Сидит в семейниках на своем 22 этаже, пьет пиво и чешет пузо.

+3
раскрыть ветку 2
Аватар пользователя Skailon Skailon
+4

Катаури (они же Elemental Games в раннем возрасте) родом из моего Владивостока. Так что вполне возможно навеяно своим опытом)

+4
Аватар пользователя Cactus3D Cactus3D
+1

игру писали два, а в последствии три друга из Владивостока.

+1
Grobnar182
+4

Квест действительно сложный и интересный, но мне больше нравится его продолжение во второй части. Там прямо игра в игре.

+4
Maghpela
+3
Да ты гаалец :'D
+3
D3code
+3

Опишу еще проще.
Если начинать с нуля (00000)
Даешь ход противнику.
Ставит единицу на какой-нибудь цвет - ставишь 1 туда же, если невозможно - ставишь тройку на любйо другой цвет
Ставит двойку на какой-нибудь цвет - ставишь двойку на любой другой цвет, если невозможно - ставишь тройку на любой другой цвет.
Ставит тройку на любой цвет - ставишь тройку на любой другой цвет

Три строчки if-then-else, и никаких деревьев не нужно=)

+3
раскрыть ветку 44
netwizard
+4

Ладно, уговорил =) Ты дал мне ход, я хожу 03000

Твоя очередь =)

Посмотрим, как твоя логика потерпит крах =)

+4
раскрыть ветку 43
D3code
0

33000

0
раскрыть ветку 42
Похожие посты
Похожие посты не найдены. Возможно, вас заинтересуют другие посты по тегам: