Здравствуйте, уважаемые игрописатели.
Недавно заинтересовался жанром, начал писать небольшую игрушку и практически сразу же столкнился с неприятной и странной (как на мой взгляд) проблемой.
В классе Actor имеется св-во actorDesc, которое дает описание актера при осмотре комнаты. Оно прекрасно работает, если задается при определении класса, вот так:
haja : Actor
location = startroom
[...]
actorDesc = "Напротив тебя неуверенно мнется Хаджинов."
Но если это свойство переопределить где-либо в программе, как-то так
if (haja.isAlive && not haja.isWorking)
{
[...]
haja.actorDesc := "Хаджинов отгребает в сторону цементную крошку у тебя из под ног.";
}
то происходит следующее:
1. Немедленно выводится текст "Хаджинов отгребает в сторону цементную крошку у тебя из под ног.", даже если вы не осматривали комнату.
2. При любых дальнейших осмотрах комнаты описание актера не появляется
Как побороть данный глюк?
Заранее спасибо.
Неактивен
Двойные кавычки (" ") -- команда вывода текста на экран. Простая строка заключается в одиночные (' '). Но это тебе не поможет. =) В TADS используется другой подход: описания являются методами. Отталкивайся от объектов, а не от выполнения программы.
haja : Actor location = startroom [...] actorDesc = { if (self.isAlive && not self.isWorking) "Хаджинов отгребает в сторону цементную крошку у тебя из под ног."; else "Напротив тебя неуверенно мнется Хаджинов."; } ;
Отредактировано Gremour (06.09.2007 03:30)
Неактивен