Ордена Ленина ежепартийная всекамрадская газета
клуб заведен 10-04-2003
постоянные читатели [14]
BlackMouse, Cilya, Darksoul, Darth Schturmer, Drone, Ereinion, Melenis the Haarvenu, Night Lynx, RUSSPOT, Shadow-11, Ttei, vakito, Xirax, YScratch
хранители [3]
Kaineg, Maerd, Xirax
участники [13]
BlackMouse, Cilya, Darksoul, Darth Schturmer, Drone, Ereinion, Kaineg, Maerd, Night Lynx, RUSSPOT, vakito, Velmar, Xirax
закладки:
цитатник:
клуб:
26-04-2003 22:21 Вестник Мафоякии » Провалившаяся операция без названия
Дословный вариант заявки и ответ Меленис.


int main() //
{

Днем бью Совку книжкой Кайнега; выписываю доверенность на просмотр моего состояния Маерду; Маерд имеет право юзать мою Immunity;

После того, как Доминейт станет неюзаным, но до повешения складываю все мои и Кайнеговские вещи и деньги Эрейниону (не Кентавру);

Ночью забираю по необходимости (см.ниже), поюзав, сразу возвращаю Эрейниону на хранение;

//теперь начался ужас
Если (вешают не Штурмера и Xirax ночью не обкнижен и не парализован);
то
{
Если protection(Kaineg)=true ;
то
Chaoscast(xirax, Centaur);
}

Если (вешают Штурмера или Xirax ночью обкнижен или парализован);
то
{
Если protection(Ereinion)=true;
то
Chaoscast(uncle reaper, Centaur);
Эрейнион применяет Доминейт на Виолу в режиме мафояка;
Виола пускает себе пулю в лоб;
}

}


процедура Chaoscast (caster, teleportafter)
{
caster получает в наличие два крамбла Кайнега, Набор Вуду Кайнега, Амулет защиты Кайнега, крамбл Ксиракса, Дрейн Ксиракса, 2 антинекроса Ксиракса, 2 крамбла Ttei.

caster по очереди крамблит Набор вуду, Амулет защиты, дрейн и 2 антинекроса-итого 45-5=40 ман;
(если был скастован Манашорт, то кастер получает 1 начальную ману алхимией)

caster берет телепорт Ксиракса, телепортируется после teleportafter;

caster кастует хаос;
}



функция protection (beholder)
{
beholder ждет до конца первой фазы ночью;

Если к тому времени кто-то один(не больше) телепортировался;
то
{
beholder получает в наличие Глаз Бехолдера Кайнега и применяет его в режиме паралича на телепортировавшегося;
}

Если к концу первой фазы ночи и до активации Chaoscast телепортировалось более одного камрада;
то
return false;
в противном случае
return true;
}


Перевод на русский язык:
Или я, или Рипер (в зависимости от повешенности Штурмера и моего состояния) ночью крамблит шмотки, телепортится после Кентавра и кастит хаос.
Если это Рипер, то Эрейнион доминирует Виолу.
А еще Кайнег или Эрейнион Глазом Бехолдера пресекают возможные попытки телепортироваться у остальных камрадов.
Прошу не убивать никого от одиночества до наступления утра

Дополнительно: Кайнег твидлит мне Доминейт твидлом от Маерда, Маерд отправляет Штурмера в Бразилию, S-11 лупит Call Lightning на М-Х, SB вешает на Маерда иммунити.


Процедура Chaoscast вывалилась с необработанным exception'ом из-за несработавшего телепорта.


Субьективный рейтинг сложности операции: 8
Затраты: Уууу....

Xirax

отредактировано: 28-04-2003 01:54 - Xirax

Комментарии:
27-04-2003 00:44
Камрад
Видимо, скоро все заявки как программы пойдут
Камрад
ИМХО, переходите на Паскакаль
27-04-2003 10:55
Крёстный отец всех кланов
vakito
Ну да, пора уже разработать язык заявок в мафии, или на ещё что-нибудь более известное переходить. И дебаггер написать

отредактировано: 27-04-2003 10:57 - Maerd

Камрад
Maerd
Ага. и написать оболочку языка заявок. И автотестер с проверкой всех возможных вариантов. А также встроенные процедуры, например "chain_lightninig" или "call_chaos"
Кто берется?
Камрад
Субьективный рейтинг сложности операции: 9
Многовато поставил, ИМХО. Смысл был такой: хаос в любом случае, чтобы не предпринял враг. Враг предпринял такое, что план не сработал. Значит нашел дырку, не зная о плане. ИМХО, в очень сложном плане это нереально вот так взять и угадать.
27-04-2003 16:00
Хорошо информированный оптимист
А всего-то и надо было написать дополнительно:
ЕСЛИ телепорт провалился (от любых причин), ТО осуществить телепорт с другим кастером.

отредактировано: 27-04-2003 16:01 - Kaineg

27-04-2003 19:36
Камрад
Kaineg
И со вторым кастером бы провалился, и с третьим...

Xirax
Если взялся писать скриптом - юзай DbC. От подобных ошибок спасет:
   teleport(after) is
   -- Телепортирует игрока после after
      require
         Не окнижен
         mp>=10
         Есть непоюзанный свиток Телепорта
         Нет препятствий кастовать
      do
         ...
      ensure
         Свиток телепорта поюзан
         Телепортировался после after
         mp.is_equal(old mp-10)
      rescue
         if mp>=10 and then Есть непоюзанный Teleport then
            retry
         end
      end


Так же, думаю, ответ писался ДО того, как был переведен на ману Штурмер, поскольку смерть некроманта заставала скрипт еще на функции protection.

отредактировано: 27-04-2003 19:38 - Anafay

27-04-2003 20:37
Хорошо информированный оптимист
Anafay
Почему?
1й кастер кастует телепорт. Вы на него (по триггеру) -- спеллбласт.
Срабатывает альтернативный вариант -- 2й кастер кастует телепорт. Вы на него (по тому же триггеру) -- опять спеллбласт. Вопрос упирается в количество спеллбластов и телепортов.
27-04-2003 21:40
Камрад
Kaineg
У нас была заявка до 3 спеллбластов: на Телепорты, Резурректы и Лайт.
28-04-2003 01:18
Камрад
Anafay
Мда. Как насчет того, чтобы Визард Лок зашишал и от Бласта тоже?

А вообше давно пора зафигачить класс "игрок" для C++

отредактировано: 28-04-2003 01:19 - Xirax

28-04-2003 01:35
Камрад
Xirax
От него Spell Protect есть.

отредактировано: 28-04-2003 01:35 - Anafay

28-04-2003 01:40
Камрад
Такого класса не существует и существовать не может в принципе. Ибо одним классом тут явно не отделаешься. И еще плюсы: см http://www.gobosoft.com/
28-04-2003 04:11
Крёстный отец всех кланов
2 Anafay
Если не секрет, то каким образом была сделана заявка на блокирование Light-а? Его же может кто угодно кастануть, и это не телепорт: того, кто применяет "Свет" не видать.
28-04-2003 05:40
Камрад
Maerd
По нашим прикидкам, наибольшее количество маны оставалось у Супер Буббы и Стома. По ним они бы и пошли.
Закрыть