! ============================================================================ ! ! Cloak of Darkness - a simple demonstration of Interactive Fiction ! This version for Inform written by Roger Firth on 17Sep99 ! ! Русский перевод: Д.Г. Гаев, 2004 ! ============================================================================ ! Include "CyrDef"; 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; ! ============================================================================ !