Если у Вас есть вопросы, как сделать что-то в программе или Вы не понимаете чего-то (то ли это ошибка, то ли фича и т.д.), то спрашивайте в этой теме.
Неактивен
Станислав Соловьев написал:
Захотел сделать нечто вроде парсерной мини-игры, чтобы игрок вводил сообщения и получал на них ответ. Естественно, мне понадобился союз "или", чтобы расширить варианты вводимых ответов. Его я использовал в виде "or", потом попробовал вариант "||", в обоих случаях результат один -- на экране выводится текст результата еще до того, как введено какое-либо значение. Если сделать два блока ЕСЛИ-ТО, в которых предложить два варианта в зависимости от введенных данных, то все равно выводится первый ответ на вопрос.
Введите сообщение:
<<input '105' $gg_say>>
<<if $gg_say.toLowerCase() eq 'привет'>>
-- Здравствуй. Как скоро ты будешь на месте?
<<endif>>
<<if $gg_say.toLowerCase() eq 'как дела?'>>
-- Пока все хорошо. А ты как?
<<endif>>
Мне кажется, что все логично, но я не программист, поэтому у меня такие простые вещи почему-то не срабатывают. Если спросить, "как дела?", то на экране появится сразу два ответа:
-- Здравствуй. Как скоро ты будешь на месте?
-- Пока все хорошо. А ты как?
Как быть? Что делать?
Кажется, я нашел достаточно интересное решение, используя массивы и циклы!
<<input '105' $gg_say>> <<if $gg_say.toLowerCase() eq 'привет'>> -- Здравствуй. Как скоро ты будешь на месте? <<elseif $gg_say.toLowerCase() eq 'как дела?'>> -- Пока все хорошо. А ты как? <<endif>>
Прочитайте главу "Отображение текста по условию" в руководстве пользователя.
Неактивен