Перейти к основному содержимому

Как заменить часть переменной

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

Создадим игру

Давайте например построим игру, в которой мы заменяем содержимое рюкзака.

Объявите переменную

Добавьте блок Условия. Скопируйте и вставьте в него:

$backpack = "меч, пустая бутылка, зуб дракона, цветок папоротника, пергамент"

Вы создали переменную $backpack (рюкзак) и записали в нее содержимое рюкзака.

Свяжите условие со следующим экраном. Для связи условия со следующим экраном, добавьте на него блок Текст. Скопируйте и вставьте в блок Текст:

Привет! У тебя в рюкзаке $backpack.

Теперь добавьте сюда же еще один блок Текст. Скопируйте и вставьте в него:

Ты стоишь у ручья. Прекрасная возможность, чтобы налить воды.

Добавьте на этот экран кнопку, скопируйте и вставьте в нее текст налить воды

Добавьте на этот же экран Интент. Скопируйте и вставьте в интент налить воды

Можете также использовать синтаксис шаблонов, чтобы добавить другие варианты фраз, которые может сказать пользователь.

Свяжите интент налить воды со следующим экраном

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

Добавим на него блок Условия. Скопируйте и вставьте в блок Условия следующее:

$backpack = $backpack.replace ("пустая бутылка", "бутылка воды")

предупреждение
  • .replace работает только со строками.

  • Если вы скопируете в ваш сценарий строку из этого урока, .replace заменит только первый элемент. Например, если у вас бутылка воды и стакан воды, то после использования условия $backpack= $backpack.replace («воды», «вина») у вас будет бутылка вина и стакан воды.

Если вам нужно заменить несколько одинаковых элементов, то используйте запись такого вида:

$backpack= $backpack.replace (/воды/g, "вина")

В этом случае, все элементы «воды» будут заменены на «вина». И если у вас была бутылка воды и стакан воды, то будет бутылка вина и стакан вина.

Таким образом, мы редактируем саму переменную, заменяя ее часть. Затем, так как мы фактически не можем редактировать существующую переменную, мы вынуждены ее пересоздать. Присваиваем значение этой же переменной с помощью оператора =

Свяжите условие со следующим блоком Текст, в который напишите:

Готово! Теперь у тебя в рюкзаке $backpack.

Как выглядит готовый сценарий

Вот весь кусочек сценария полностью:

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