Permalink
Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
142 lines (120 sloc) 6.2 KB
! ============================================================================ !
! Cloak of Darkness - a simple demonstration of Interactive Fiction
! This version for Inform written by Roger Firth on 17Sep99
!
! Русский перевод: Д.Г. Гаев, 2004
! ============================================================================ !
Constant MANUAL_PRONOUNS;
Constant MAX_SCORE 2;
Constant Story "Плащ Тьмы";
Constant Headline "^Тривиальная Информ-демонстрация.^";
Include "Parser";
Include "VerbLib";
! ============================================================================ !
Object foyer "Фойе Оперного Театра"
with description
"Вы стоите в центре просторного холла,
полного роскоши и декорированного красным и золотым.
Массивные люстры ярко сияют под потолком.
На север отсюда имеется выход на улицу,
две другие двери ведут в южном и западном направлении.",
s_to bar,
w_to cloakroom,
n_to
"Вы только пришли сюда. К тому же, погода снаружи заметно ухудшается.",
has light;
Object cloakroom "Гардероб"
with description
"Когда-то на стенах этой комнаты было множество крючков,
предназначенных для одежды, но сохранился только один.
Единственный выход отсюда -- восточная дверь.",
e_to foyer,
has light;
Object hook "маленьк/ий бронзов/ый крюч/о/к/" cloakroom
with name 'маленьк' 'бронзов' 'крюк' 'крючок' 'крючк' 'вешалк',
casegen [ beg end csID;
return ICVowel (csID, beg, end, 'о', 0);
],
description [;
print "Всего лишь маленький бронзовый крючок для одежды, ";
if (self == parent(cloak)) "с которого свисает черный бархатный плащ.";
"привинченный к стене.";
],
has scenery supporter male;
Object bar "Буфет"
with description
"Театральный буфет (намного более скромный,
чем можно было предположить после роскоши фойе,
расположенного к северу отсюда) совершенно пуст.
Но похоже, что в пыли на полу написано что-то важное.",
n_to foyer,
before [;
Go:
if (self hasnt light && noun ~= n_obj) {
message.number = message.number + 2;
"Слоняться в кромешной тьме -- не самая лучшая идея.";
}
default:
if (self hasnt light) {
message.number = message.number + 1;
"В непроглядной темноте это очень трудно...";
}
],
has ~light;
Object cloak "бархатн/ый плащ/"
with name 'бархатн' 'атласн' 'черн' 'плащ',
description
"Хороший плащ (из черного бархата с атласной прокладкой),
немного промокший от дождя. Его чернота настолько глубока,
что возникает ощущение, словно он втягивает в себя весь свет
из окружающего мира.",
before [;
Drop, PutOn:
if (location == cloakroom) {
give bar light;
if (action == ##PutOn && self has general) {
give self ~general;
score++;
}
}
else
"Не самое подходящее место для того,
чтобы оставлять здесь свою одежду.";
],
after [;
Take: give bar ~light;
],
has clothing general male;
Object message "нацарапанн/ая надпис/ь" bar
with name 'нацарапанн' 'начертанн' 'надпис' 'пыл',
description [;
if (self.number < 2) {
score++;
deadflag = 2;
print "Начертанная в пыли надпись сообщает Вам, что...";
}
else {
deadflag = 3;
print "Полустертую надпись разобрать очень трудно.
С трудом можно различить такие слова...";
}
],
number 0,
has scenery female;
[ Initialise;
location = foyer;
move cloak to player;
give cloak worn;
"^^Торопливо пробираясь сквозь дождливую и холодную ноябрьскую ночь,
Вы радостно заметили неподалеку ярко горящие огни Оперного театра.^
Конечно, очень странно, что рядом не заметно ни одной живой души...
но стоит ли ждать слишком много от простенькой демонстрационной игры?..^";
];
[ DeathMessage; print "Вы проиграли"; ];
! ============================================================================ !
Include "RussiaG";
! "повесить"
Verb 'повес'
* cAcc_held 'на' cAcc_noun -> PutOn
* 'на' cAcc_noun cAcc_held -> PutOn reverse;
! ============================================================================ !