Заранее извиняюсь за глупый вопрос (если он такой, скорее всего как раз такой) я только новичок в этом деле, да еще и совсем не разбираюсь в программных кодах и тд.
Собираюсь создавать игру с помощью QGEN.
Итак сам вопрос - как сделать так чтобы при вводе необходимой команды в поле ввода - был переход на необходимую локацию?
Да,да, я знаю, я профан.
Пожалуйста подскажите
Неактивен
см. справку
Как сделать, чтобы игрок мог перейти на новую локацию только при вводе верного пароля?
Например, так (с созданием дополнительного действия):Код:
if input('Введите пароль') = 'мой пароль':act 'Пройти':gt 'секретная база'Или так (без дополнительного действия):
Код:
if input('Введите пароль') = 'мой пароль':gt 'секретная база'C сообщением при неверном пароле:
if input('Введите пароль') = 'мой пароль':
gt 'секретная база'
else
'Вход запрещен!'
endТакже можно воспользоваться строкой ввода (см. функцию "$USER_TEXT").
Вопросы лучше задавать на форуме QSP
Неактивен
Благодарю за ответ
А если будет несколько правильных вариантов ответа, и для каждого из них будет соответствующая локация? Попробовал добавить еще один такой код но с другим ответом в следующую строку действия, работает но почему-то требует два раза ввести одно и тоже, а третий вариант три - как от этого избавится?
Неактивен
Casralis написал:
Итак сам вопрос - как сделать так чтобы при вводе необходимой команды в поле ввода - был переход на необходимую локацию?
1. Создаём локацию, в которой у нас будут обрабатываться команды игрока. Пусть она называется, например, "ОбработкаВвода".
2. Где-нибудь в самом начале кода игры указываем движку, что именно эта локация будет обрабатывать команды игрока:
$USERCOM='ОбработкаВвода'
3. В локации "ОбработкаВвода" пишем код типа этого:
!Запоминаем команду игрока $Команда=USER_TEXT !Очищаем строку ввода команд CMDCLEAR !Обрабатываем команды if $Команда='на дерево': GT 'Дерево' elseif $Команда='в колодец': GT 'Колодец' end
Как-то так.
Неактивен
Olegus t.Gl. написал:
1. Создаём локацию, в которой у нас будут обрабатываться команды игрока. Пусть она называется, например, "ОбработкаВвода".
2. Где-нибудь в самом начале кода игры указываем движку, что именно эта локация будет обрабатывать
Как-то так.
Спасибо, но более ранний способ более подходящий в моем случае, так как ввод не фиксирован на определенной локации, и будет использоваться в условиях постоянной игры - типо заклинания которое можно прочитать чтобы победить кого то, или сделаь что-то.
Неактивен
Casralis написал:
Olegus t.Gl. написал:
1. Создаём локацию, в которой у нас будут обрабатываться команды игрока. Пусть она называется, например, "ОбработкаВвода".
2. Где-нибудь в самом начале кода игры указываем движку, что именно эта локация будет обрабатывать
Как-то так.Спасибо, но более ранний способ более подходящий в моем случае, так как ввод не фиксирован на определенной локации, и будет использоваться в условиях постоянной игры - типо заклинания которое можно прочитать чтобы победить кого то, или сделаь что-то.
Ну так именно этот подход и используется — строка ввода команды висит постоянно. В отдельной локации лишь обрабатываются введённые игроком команды. Посмотри пример.
Неактивен
Olegus t.Gl. написал:
Ну так именно этот подход и используется — строка ввода команды висит постоянно. В отдельной локации лишь обрабатываются введённые игроком команды. Посмотри пример.
О круть, спасибо. Что-то я сразу не понял, думаю с опытом придет
А можно данную функцию как то фиксировать на локации, при необходимости.
Отредактировано Casralis (20.12.2010 17:49)
Неактивен
Casralis написал:
А можно данную функцию как то фиксировать на локации, при необходимости.
Насколько я понимаю, ты хочешь работать с кодом обработки введённой команды в той локации, к которой та или иная команда относится?
Неактивен
Olegus t.Gl. написал:
Насколько я понимаю, ты хочешь работать с кодом обработки введённой команды в той локации, к которой та или иная команда относится?
Мне скорее нужен результат для той или иной команды в той или иной локации.
например:
используется одна и та же команда, так её и назовем "команда"
"команда" в локации 1 = результат 1 (имеется в виду локация с описанием результата)
"команда" в локации 2 = результат 2
"команда" в локации 3 = результат 3
и далее в этом духе.
Ну, впрочем итак всё решаемо, тем, что вы оба мне уже сказали, так что мне и этого хватит.
Отредактировано Casralis (20.12.2010 19:50)
Неактивен
Хм… А вот пример помудрёней. Пришлось переместить вывод описаний в код, но зато стало возможным обрабатывать команды в конкретных локациях.
Неактивен