Список форумов Русский TADS Русский TADS
Русский TADS. Разработка текстовых игр на русском языке. Интерактивная литература.
Второй форум находится здесь.
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Динамические объекты

 
Начать новую тему   Ответить на тему    Список форумов Русский TADS -> Флейм
Предыдущая тема :: Следующая тема  
Автор Сообщение
Dimastty
Гость





СообщениеДобавлено: Ср Сен 24, 2003 5:27 pm    Заголовок сообщения: Динамические объекты Ответить с цитатой

Товарисчи! Может кто знает, можно ли в TADSе динамически создавать объекты?
Есть мысль написать модуль для ролевых систем (d20 system в частности) и нехватает, по предворительной оценке, только сабжа.
Вернуться к началу
GrAnd
Site Admin


Зарегистрирован: 04.02.2003
Сообщения: 299
Откуда: Россия, Москва

СообщениеДобавлено: Ср Сен 24, 2003 9:04 pm    Заголовок сообщения: Ответить с цитатой

Конечно можно. В мануале не сказано?
Можно вполне, если нужно, могу выслать наработки. Я пытался делать рогулик с сильной примесью ИФ, но потерял интерес к этому делу, но часть движка при этом успел создать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Ulla



Зарегистрирован: 04.09.2003
Сообщения: 4
Откуда: Ukraine, Kiev

СообщениеДобавлено: Чт Сен 25, 2003 2:57 pm    Заголовок сообщения: Ответить с цитатой

Попробуй выражение вида:
local dynobj;
dynobj := new someclass;
dynobj.field := ...

кстати, для динамических обьектов, желеательно сразу же инициализировать поле <adjective>
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
GrAnd
Site Admin


Зарегистрирован: 04.02.2003
Сообщения: 299
Откуда: Россия, Москва

СообщениеДобавлено: Чт Сен 25, 2003 3:42 pm    Заголовок сообщения: Ответить с цитатой

Вот пример создания трупа убитого монстра из моей будущей игры.
Код:
death(killer)=   
{
 local corp := new trup;
 local nnouns:=[];
 local adj:=[],z,i;
 corp.moveInto(self.location);
 self.moveInto(nil);
 corp.monstr:=self;
 corp.weight:=self.mhp/4;
 killer.curweapon.killmess(killer,self,self.hp*(-1));
 z:=length(self.contents);
 for(i:=1; i<=z;i++) self.contents[1].moveInto(corp);
 nnouns:=getwords(self, &noun);
 for (i:=1;i<=length(nnouns);i++) addword(corp,&noun,nnouns[i]) ;
 adj:=getwords(self, &adjective);
 for (i:=1;i<=length(adj);i++) addword(corp,&adjective,adj[i]) ;
 setit(corp);
 notify(corp,&gnienie,0);
 unnotify(self,&follow);
}
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Dimastty
Гость





СообщениеДобавлено: Пт Сен 26, 2003 2:50 pm    Заголовок сообщения: то же Ответить с цитатой

Все, въехал кажись......
Всем спасибо!
на счет исходников - спасибо конечно, но хочется самому освоить Smile))
Вернуться к началу
GrAnd
Site Admin


Зарегистрирован: 04.02.2003
Сообщения: 299
Откуда: Россия, Москва

СообщениеДобавлено: Сб Сен 27, 2003 9:35 am    Заголовок сообщения: Ответить с цитатой

Не сказал как удалять. Вот пример - труп монстра сгнивает, когда проходит кол-во ходов равное трети хитпоинтов умершего монстра.
gnienie=
{
if (monstr.mhp/2>self.old) self.old++;
else
{
local i,j,z;
j:=self.location; z:=length(self.contents);unnotify(self,&gnienie);
if (isinside(self,Me.location)) "\n\tТруп <<monstr.rdesc>> сгнил. \n";
for (i:=1; i<=z; i++) self.contents[1].moveInto(j);
delete self;
}
}

Учится, конечно, надо, но насчёт возможностей html я не уверен, что будет легко разобраться сразу. Если хочешь писать не просто текстовую РПГ, а рогалик(что интереснее) то обращайся.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Русский TADS -> Флейм Часовой пояс: GMT + 4
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group