Разве noun не наследуется? Кажется, я это уже применял - и все работало.
Но вот сейчас, когда я писал код для goraph, появился тупой глюк.
Итак, код простейший:
#include <advr.t> #include <stdr.t> #include <errorru.t> startroom: room sdesc = "Спальная комната" ldesc = "Единственная комната моей квартиры." ; vial: item location = nil sdesc = "пузырёк" rdesc = "пузырька" ddesc = "пузырьку" vdesc = "пузырёк" tdesc = "пузырьком" pdesc = "пузырьке" noun = 'пузырек' 'пузырька' 'пузырьку' 'пузырьком' 'пузырьке' 'пузырьку#d' 'пузырьком#t' ldesc = "На свету небольшой пузырёк длиной с палец поблескивает гранями." isHim = true ; vial1: vial location = startroom ;
Получаем:
>смотреть
Спальная комната
Единственная комната моей квартиры.
Ты видишь здесь пузырёк.
>взять пузырёк
Я не вижу здесь объект "пузырек".
>взять пузырек
Я не вижу здесь объект "пузырек".
>
Это что?
Пробовал с разными версиями русских библиотек.
Самое интересное, что если в наследнике явно прописать noun:
vial1: vial location = startroom noun = 'пузырек' 'пузырька' 'пузырьку' 'пузырьком' 'пузырьке' 'пузырьку#d' 'пузырьком#t' ;
то все прекрасно...
Неактивен
fireton написал:
Меня больше удивило, что TADS позволяет наследование от экземпляра класса... Бред полный с точки зрения ООП.
ООП бывают разные:) наследование можно расширенно трактовать как подобие. В этом случае наследование от экземпляра вполне допустимо.
Неактивен