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

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



Начнём с объявления переменной.

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

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





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

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

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



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

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



Добавьте на этот экран кнопку, скопируйте и вставьте в неё текст:

налить воды

Добавьте на этот экран интент. Скопируйте и вставьте в интент:

налить воды



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

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

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

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

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






.replace работает только со строками.

В виде, представленном в примере из пункта 3 .replace заменит только первый элемент.

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

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

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

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


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

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

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



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



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

Была ли эта статья полезна?
отменить
Спасибо!