Forum.iFiction.Ru

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

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

Вы не зашли.

0    0    #1
19.08.2006 21:45

Davarg
Участник
Зарегистрирован: 01.06.2006
Сообщений: 8

Флаги

1.Можно ли ставить флаги на комнаты,если да то как?
2.Как правильно изменять св-ва флага с nil на true после определенного действия?
3.Можно ли ставить флаги на главного персонажа(Me)?

Неактивен

0    0    #2
20.08.2006 05:07

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

Re: Флаги

TADS — объектно ориентированный язык программирования. Со всеми вытекающими оттуда последствиями. Комнаты и главный персонаж и вообще всё остальное написано на этом языке.

Флаги, на которые ты намекаешь, устанавливаются описанием свойства в классе.

Код:

cavern: room
    sdesc = "Скудно освещённая пещера"
    isMossed = true
    ldesc =
    { 
        "В этой пещере темно и сыро. ";

        if (self.isMossed)
            "Слой мха на стенах служит пристанищем для каких-то насекомых. С ";
        else
            "Обнажённые стены покрыты росой, а с ";

        "потолка капает вода. ";
    }
;

В этом примере sdesc с точки зрения языка ничем не отличается от любого другого свойства объекта cavern. В том числе флага isMossed. И, по большому счёту, от ldesc (за исключением того, что ldesc это метод). ldesc показывает пример проверки флага isMossed. В зависимости от состояния флага, описание комнаты будет выглядеть по-разному. Если флаг нужно проверить из другого объекта, пиши cavern.isMossed.

Чтобы изменить состояние флага, присваиваешь ему нужное значение:

Код:

    cavern.isMossed := nil;

ГП такой же объект, как и комната. Всё вышеописанное применимо к нему.

Неактивен

Powered by PunBB
© copyright 2001–2024 iFiction.Ru