RTADS FAQ: различия между версиями
Содержимое удалено Содержимое добавлено
Grand (обсуждение | вклад) |
Enola (обсуждение | вклад) Нет описания правки |
||
| (не показано 8 промежуточных версий 2 участников) | |||
Строка 3:
==Мультимедиа==
'''Вопрос от Zargo: <br>Подскажите,
Можно, для интерпретаторов с поддержкой мультимедиа. Это проигрыватели для систем Windows, Macintosh и Linux.
Строка 30:
'''Есть ли в ТАДС способы автоматического тестирования библиотек и игр?'''
В отладочных целях ещё в первых версиях ТАДС
без необходимости внимательного "ручного" просмотра.
Строка 41:
а выходящий текст записывает в файл.
Файл с выводом из предыдущей и новой версии можно сравнить с помощью специальных программ, типа [http://winmerge.org/ WinMerge].
==Синтаксис==
Строка 68 ⟶ 67 :
либо поступить так:
a := [] + b;
Это также следует учитывать при передаче параметра типа список из одного элемента.
foo([param[3]]) // не будет работать
local temp:=param[3];
foo([temp]) // будет
Строка 154 ⟶ 159 :
;
</pre>
Ещё один способ - вставить в строку с двойными кавычками вызов изменяемого свойства. Например:
Строка 177 ⟶ 184 :
negoyai:=dToS(actor,rdesc);
// функция dToS перехватывает вывод на экран "двукавычного"
// свойства rdesc и
pass doDrop;
}
Строка 184 ⟶ 191 :
Здесь мы превратили свойство rdesc действующего актера из строки с двойными кавычками в строку с одинарными и записали в объекте. Это свойство мы можем менять по ходу всей игры, и это будет менять описание. В данном случае - виновника происшествия.
'''Как реализовать части тела или объекта?'''
Как пример сложной фразы часто приводят примеры из серии:
врезать/ударить/пнуть ногой/хвостом/ёжиком (по) лбу/ноге/ягодицам/сенсорам монстра/робота/тети Клавы
На самом деле, это реализуется довольно просто:
<pre>
class bodypart: fixeditem
dobjGen(actor, verb, indirectobj, preposition) =
{
self.location.dobjGen(actor, verb, indirectobj, preposition);
}
iobjGen(actor, verb, directobj, preposition) =
{
self.location.iobjGen(actor, verb, directobj, preposition);
}
;
zhvala : bodypart
location = megaant
desc = 'жвала/2'
adjective = 'муравья' 'муравья#r' 'муравью' 'муравью#r'
ldesc = "Большие страшные жвала. "
;
</pre>
Теперь "ударить муравья по жвалам палкой" будет равнозначно "ударить муравья палкой".
Если вы хотите сделать отличную от такой реакцию, то напишите исключение для конкретных значений параметра verb.
==Усложнение принимаемых фраз==
Строка 195 ⟶ 231 :
# на юге вы видите три пещеры. Кровавый след тянется в ту, что западнее, а из восточной выползает вязкий белесый туман
[[Категория:
| |||