Поскольку здесь, да и в закрытой теме было весело, а мне не хотелось заниматься делом, решил накидать альтернативный ответ на ТЗ Войза. В)
"В качестве предисловия"- Зачем ты пришел?
- Потому что ты звал меня.
- Hо я не звал тебя.
- Hет, звал. Иногда, для того чтобы позвать меня, нет необходимости
произносить слова.
- Как это.
- Достаточно просто очень захотеть, и я приду.
- Да, я очень хотел, чтобы ты пришел.
- Вот видишь.
- Hо все равно, как ты узнал?
- Я почувствовал.
- Ты можешь чувствовать?
- Да, за бедностью формы зачастую скрывается кладезь содержания. Вещи на самом деле не такие, какими мы их видим. Суть скрыта внутри вещей, простым взглядом ее невозможно познать.
- Какие же они на самом деле?
- Этого не знает никто. Даже я.
- Как ты оказался здесь?
- Твое желание вело меня.
- Как это может быть?
- Желание это не просто чувство. Это сила. Это движущая сила эволюции. Бывают такие моменты, когда она становится
материальной.
- Ты можешь ощущать силу желания?
- Да, сила твоего желания была велика, и я пришел.
- Почему ты пришел?
- Чтобы сделать свое дело.
- А потом?
А потом я уйду.
- Что же ты потребуешь в плату за то, что пришел?
- Мне не нужна плата за это.
- Ты отрицаешь понятие награды?
- Hет, каждый труд должен быть вознагражден. Это основополагающий принцип.
- Принцип чего?
- Всего. Жизни. Смерти…
- Hо ты же сказал, что тебе не нужна плата.
- Мне не нужна плата, за то, что я пришел.
- За что же я должен наградить тебя?
- За то, что я сделаю.
- Что я могу дать тебе в обмен?
- Ты должен знать, что является платой.
- Этого будет достаточно?
- Да.
- Что же я получу?
- Ты получишь покой.
- Вечный покой?
- Hет. Вечного покоя не бывает. Здесь не бывает.
- Где же?
- Там, где даже я не властен. Там тебе поможет кто-нибудь другой. Я могу сделать лишь то, зачем пришел.
- Я не видел подобных тебе уже много лет…
- Да. Мы приходим только тогда, когда мы нужны людям.
- А когда вы не нужны?
- Тогда нас нет. Мы не существуем. Для вас не существуем.
- Как ты нашел меня?
- Я говорил, твое желание вело меня.
- Я не верю тебе.
- Твоя женщина позвала меня.
- Что она сказала тебе?
- Что ты нуждаешься в помощи.
- И ты поверил ей?
- Да. Я знал это.
- Откуда.
- Те, кто живут вокруг тебя, сказали мне.
- Ты поверил им?
- Да. Я знаю, ты не сможешь без меня.
- А ты?
- Я смогу.
- Ты знаешь, кто я?
- Да.
- Как ты мог догадаться?
- По тому, как ты начал разговор. Ты философ.
- Да, я философ. А ты - сантехник.
- Да, я сантехник. Hо по%%%деть я тоже люблю. Где тут у вас бачок засорился?
Решение задачи буду вести исходя из моего понимания ТЗ и остатков воспоминаний о теории вероятностей, используя ряд обозначаемых допущений. Дроби будут, десятичные, поскольку подсчитать их на калькуляторе не столь сложно, а если еще и в уме – то даже полезно. ;)
Итак,
"промежуточные рассуждения"
1. Шансы на выведение из строя одной цели с одного выстрела (допущение №1 – вероятности округляем до целого числа процентов; допущение №2 – вероятности поражения меняются скачкообразно, а не равномерно между указаными контрольными точками):
1.1. 0-20 ярдов = 62%
1.2. 21-80 ярдов = 31%
1.3. 81-160 ярдов = 13%
1.4. 161-200 ярдов = 3%
1.5. 201-300 ярдов = 1%
2. Допущение №3 – считаем, что залпы отдельных солдат не зависят друг от друга, а также последовательные залпы в рамках одного хода не зависят друг от друга.
3. Будем считать усредненное значение, т.е. с M залпов N солдат выведут из строя M*N*P целей, если вероятность успешного выстрела 1 солдата равна P, определенная в п. 1 (пока – без учета модификаторов).
4. Добавляем модификатор за качество. Число выстрелов в ход с новобранца/регуляра/ветерана без движения = 7/11/15 раз. Таким образом, без движения N солдат выведут из строя 11*N*P целей. Новобранцы – будут иметь модификатор 0,64, регуляры –1, ветераны – 1,36.
5. Добавляем модификатор за пройденное расстояние. Собственно расстояние, пройденное за 1…4 минуты в пределах хода, нас не волнует, поскольку измерение расстояния до цели мы проводим в момент залпа. Для нас важно только уменьшение числа залпов, которые наш батальон может совершить с итоговой дистанции. Т. о. модификатор за пройденное в ход расстояние равен (1-t/5), где t – время в минутах, затраченное на перемещение. Для 1 минуты – модификатор равен 0,8, для 2 минут – 0,6, для 3 минут – 0,4, для 4 минут – 0,2, для 5 минут – 0.
6. Добавляем модификатор за уменьшение стрельбы, если стрелок стрелял в предыдущий ход (на 15% ухудшение эффективности) – 0,85.
7. Добавляем модификатор за уменьшение стрельбы, если цель стреляла в предыдущий ход – 0,9 при дистанции до цели 20 ярдов, 0,85 при дистанции 21-80 ярдов, 0,75 при прочих дистанциях.
8. Добавляем модификатор за укрытие (10% легкое, 20% тяжелое) – 0,9 при легком укрытии, 0,8 при тяжелом.
9. Добавляем модификатор за «дезорганизованность» стреляющего – 0,5.
10. Добавляем модификатор за «мораль» стреляющего – 1,1 для воодушевленных, 1 для обычных, 0,8 для расстроенных, 0,5 для отступающих, 0 для бегущих.
Итого, последовательность определения результата стрельбы такова:
1) Перемещаем стреляющий батальон на нужное количество ярдов, шагами по 25 ярдов.
2) Измеряем расстояние до цели в ярдах.
3) Поскольку все измерения потерь должны производиться в фигурках, будем рассматривать залпы не солдат, а целых фигурок в заданном масштабе 1:5. Стартовое количество фигурок в батальоне – 160 (видимо герр Войз подсел на новомодный 6мм масштаб или у него ну очень много ресурсов на хобби). Если батальон уже получал потери, то считаем оставшееся количество фигурок в батальоне.
4) Умножаем это число на 11.
5) Последовательно умножаем результат на все актуальные для данной стрельбы модификаторы из нижеприведенного списка в формате МОДИФИКАТОР (УСЛОВИЕ):
• 0,62 (текущее расстояние до цели 0-20 ярдов) ИЛИ 0,31 (расстояние 21-80 ярдов) ИЛИ 0,13 (расстояние 81-160 ярдов) ИЛИ 0,03 (расстояние 161-200 ярдов) ИЛИ 0,01 (расстояние 201-300 ярдов) ИЛИ 0 (расстояние больше 300 ярдов);
• 1 (регуляры) ИЛИ 0,64 (новобранцы) ИЛИ 1,36 (ветераны);
• 1 (батальон не двигался) ИЛИ 0,8 (батальон прошел 25 ярдов) ИЛИ 0,6 (батальон прошел 50 ярдов) ИЛИ 0,4 (батальон прошел 75 ярдов) ИЛИ 0,2 (батальон прошел 100 ярдов) ИЛИ 0 (батальон прошел 125 ярдов);
• 1 (батальон не стрелял в прошлый ход) ИЛИ 0,85 (батальон стрелял);
• 1 (цель не стреляла в прошлый ход) ИЛИ 0,9 (цель стреляла и расстояние до нее 0-20 ярдов) ИЛИ 0,85 (цель стреляла и расстояние до нее 21-80 ярдов) ИЛИ 0,75 (цель стреляла и расстояние до нее больше 81 ярда);
• 1 (цель не в укрытии) ИЛИ 0,9 (цель в легком укрытии) ИЛИ 0,8 (цель в тяжелом укрытии);
• 1 (стреляющий организован) ИЛИ 0,5 (стреляющий дезорганизован);
• 1,1 (стреляющий воодушевлен) ИЛИ 1 (стреляющий нормален) ИЛИ 0,8 (стреляющий расстроен) ИЛИ 0,5 (стреляющий отступает) ИЛИ 0 (стреляющий бежит).
6) В идеальных условиях (воодушевленные ветераны с холодными стволами внезапно появились почти вплотную перед ничего не подозревающей целью и все 5 минут в нее разряжали свои мушкеты с бесконечными патронами (idkfa, кажется)) статистически у нас пока получается 1484 трупофигурки (т.е. 7420 реальных трупов). Но будем считать идеальные условия 5%-ным чудом, поэтому продолжим.
7) Бросаем 2д6. При выпадении 7 округляем результат из п. 5 по обычным правилам округления, при 8-10 - умножаем результат на 1,5 и округляем в большую сторону, при 11-12 – умножаем на 2 и округляем в большую; при 4-6 – делим на 1,5 и округляем в меньшую, при 2-3 делим на 2 и округляем в меньшую. По вкусу рандом, приносимый от 2д6, можно снизить почти в 0 или раскачать до невиданных высот. Основа все равно идет из статистических данных.
8) Смотрим состояние цели в зависимости от % потерь от залпа: 10% потерь - пофиг, 11-20% расстроен, 20-33% потрясен, 34-50% разбит.
9) Берем новый батальон и возвращаемся к пункту 1.
…
Profit!