Программирование > Теория, алгоритмы и стандарты
Борьба флотов (вероятность)
Altaxar:
4 ) вариант самый сложный:
Расчитываем сколько каждый успел нанести урона до появление у когото 0 жизни флота. с расчетом на повреждение падает сила удара.
и наверное с расчетом что может бой быть 1 против 2.
Если у тебя не 2 флота а несколько, и еще по флагам, тоесть несколько команд, то будет весело.
Если нужен 4 вариант то сдесь нужно знание матрицы(система уравнения), алгебра 1 курс математического факультета.
P.S. Да помню был у меня такая пара, где учились составлять систему уравнения из подобных задач, не помню как она называлась.
Error202:
Спасибо!
Пока на 3-ем остановлюсь :)
Egorsha:
Если тема все еще актуальна, могу предложить следующее.
Для того чтобы ввести в это дело вероятность можно сделать различный т.н. "коэффициент атаки", очередность ударов и вероятности нанесения удара зависящую от того пропущен ли был предыдущий удар.
Для того чтобы удар был не всегда постоянный - ввсести т.н. моногмерный кубик - NdM+K .
Например, если максимальный удар 850, то для него считать удар где-то по такой формуле - 11d5+795. Что означает удар будет 800-850. 11d5 означает что подбросили 5 раз 11-гранный кубик, то есть сумма 5-ти случайных чисел от 1 до 11. (Возможны другие варианты).
Вероятность события можно считать следующим образом. Например, вероятность события равна N%, тогда надо получить случайное число от 0 до 100 и если полученное число меньше N, то событие произошло, если больше,то неудача.
При определении "попал-непопал" считать, что вероятность равна 50% у каждого корабля.
Для внесения большей непредсказуемости можно не одновременно списывать нанеаенный ущерб с каждого корабля а по очереди. Случайно определять кто первый ударил при каждом ходе. У первого будет явно преимущество и если первый попал во второго, то снижать вероятность нанесения удара вторым скажем до 45% (что-то типа не оправился от удара). На следующем ходе запоминать пропустил ли противник предыдущий удар. В случае если имелась вероятность 45% и противник предыдущим ударом промазал, то вероятность опять повышается до 50%.
Рассчетов больших проводить не нужно, а исход битвы станет более непредсказуемым.
Навигация
Перейти к полной версии