Forum.iFiction.Ru

iFiction.Ru · ifHub · FAQ · IFWiki · QSP · URQ · INSTEAD · AXMA

форум об interactive fiction, текстовых приключенческих играх и всём таком...

Вы не зашли.

0    0    #1
06.09.2007 00:09

Flint
Участник
Зарегистрирован: 06.09.2007
Сообщений: 148

---

Пропадает actorDesc

Здравствуйте, уважаемые игрописатели.

Недавно заинтересовался жанром, начал писать небольшую игрушку и практически сразу же столкнился с неприятной и странной (как на мой взгляд) проблемой.

В классе Actor имеется св-во actorDesc, которое дает описание актера при осмотре комнаты. Оно прекрасно работает, если задается при определении класса, вот так:

haja : Actor
    location = startroom
    [...]
    actorDesc = "Напротив тебя неуверенно мнется Хаджинов."

Но если это свойство переопределить где-либо в программе, как-то так

          if (haja.isAlive && not haja.isWorking)
          {
            [...]
            haja.actorDesc := "Хаджинов отгребает в сторону цементную крошку у тебя из под ног.";
          }

то происходит следующее:
1. Немедленно выводится текст "Хаджинов отгребает в сторону цементную крошку у тебя из под ног.", даже если вы не осматривали комнату.
2. При любых дальнейших осмотрах комнаты описание актера не появляется

Как побороть данный глюк?
Заранее спасибо.

Неактивен

0    0    #2
06.09.2007 03:27

Gremour
Участник (+1)
Откуда: Беларусь
Зарегистрирован: 09.11.2004
Сообщений: 234

Re: Пропадает actorDesc

Двойные кавычки (" ") -- команда вывода текста на экран. Простая строка заключается в одиночные (' '). Но это тебе не поможет. =) В TADS используется другой подход: описания являются методами. Отталкивайся от объектов, а не от выполнения программы.

Код:

haja : Actor
    location = startroom
    [...]
    actorDesc = {
         if (self.isAlive && not self.isWorking)
             "Хаджинов отгребает в сторону цементную крошку у тебя из под ног.";
         else
             "Напротив тебя неуверенно мнется Хаджинов.";
    }
;

Отредактировано Gremour (06.09.2007 03:30)

Неактивен

0    0    #3
10.09.2007 00:11

Flint
Участник
Зарегистрирован: 06.09.2007
Сообщений: 148

---

Re: Пропадает actorDesc

Спасибо за помощь.
Действительно, логичнее весь код, управляющий состоянием объекта, хранить в самом объекте. Как это я сам не догадался :-)

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru