Автор Тема: Алгоритм не по теме  (Прочитано 10650 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Алгоритм не по теме
« : 09 Декабря 2007, 12:42:08 »
Здравствуйте!

Нужна помощь...

Есть две враждующие группы...

У каждой всего 2 параметра: сила и защита

1. Как, зная эти параметры, рассчитать в процентах вероятность победы каждой из этих грапп?
2. Как, заня вероятность победы в процентах каждой из групп, выяснить, какая же все-таки победит?
3. Как, зная силу и защиту параметры, рассчитать какой ущерб в процентах способна нанести каждая из групп?

Спасибо!
Космическая игрушка

Оффлайн ravshaniy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 191
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Алгоритм не по теме
« Ответ #1 : 09 Декабря 2007, 14:04:35 »
интересная задача! ) чем то напоминает игру цивилизация

кстати в настольной игре смысл такой:
- во-первых, там юниты снимаются с поля при условии если на кубиках выпадает больше чем пять. значит один юнит противника снимается.

- во-вторых, сколько юнитов в группе столько кубиков можно бросить каждому участнику.

То есть грубо говоря нет параметров силы и защиты

в вашем случае. только сила и защита, значит все остальные велечины равны - скорость удара, /от нее будет зависить количество ударов юнита/

и второе удары по юниту наносятся ближайшим юнитом, а если вспомнить скажим warcraft там есть возможность указать что три или четыре юнита будут бить один юнит. и в таком случае бой может можно выиграть но потери будут такие что войну продолжить неудастся.

но если количество юнитов равны в каждой группе и мы считаем что каждый юнит бьет соответственно каждый другой юнит. то тут рассчеты наверно упрощаются. но смысл игры конешно теряется

хм еще раз это интересная задача, но вести рассчеты по каждому юниту было бы проще чем по всей группе. Но если вы обобщаете до уровня группы и параметры сила и защита относятся не к юниту а к группе, то рассчеты тоже просты

А сила*удар - защита = ущерб ?
по этой формуле
а здоровье - ущерб = остаток здоровья?
 по этой формуле???

как происходит бой?
убили кенни, сволочи

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Алгоритм не по теме
« Ответ #2 : 09 Декабря 2007, 15:09:28 »
Ну да... Так и есть...

т.е. допусти первая группа: сила  1000, защита 3000
вторая - сила 1500, защита 2500...

Как вот вычислить шансы на победу каждой из групп?

Поюнитово - все просто...
А мне интересно найти именно вероятность по группам...

А бой - стенка на стенку пока все не сдохнут :)
Не по раундам, когда после кадого удара ослабевает защита и уменьшается сила, а в целом по первым показателям...
Космическая игрушка

Оффлайн ravshaniy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 191
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Алгоритм не по теме
« Ответ #3 : 09 Декабря 2007, 15:52:29 »
ну единственное разъясните мне что такое защита и сила?
как рассчитывать ущерб?

если защита имелось в виду здоровье, а каждая еденица силы отнимает одно здоровье- защиту, тогда победит вторая группа

потому что после первого удара соотношение сил будет таким

500 силы 1500 защиты
900 силы 1500 защиты

как рассчитал:
первое столкновение от
защита_после_боя_1 = защита_до_боя_1 - сила_до_боя_2
защита_после_боя_2 = защита_до_боя_2 - сила_до_боя_1

в обоих случаях после первого столкновения остается 1500 защиты

потом нужно рассчитать силу_после_первого_боя
силу_после_первого_боя= защита_после_боя*силу_до_боя/защиту_до_боя
получается 500 и 900

исходя из такого принципа можно рассчитать критическое соотношение для защиты группы 1 при известных параметрах группы два ))

как вы думаете? подойдет?
убили кенни, сволочи

Оффлайн ravshaniy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 191
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Алгоритм не по теме
« Ответ #4 : 09 Декабря 2007, 16:40:28 »
для того чтобы узнать сколько нужно было бы защиты группе у которой проигрышь в силе нужно сделать следующий рассчет

исходная задача:
сила1 = 1000
сила2 = 1500
защита1=?
защита2=2500

условие победы: при условии когда защита2 после боев будет равна защите1, сила1 должна быть больше силы2

дополнение: после боя защита уменьшается на силу противника. и исходя из коэфициента начального *коэфициент = сила/защиту* рассчитывается сила для следующего боя

решение которое у меня в голове вертится только цикл составить

шаг_цикла = 10;
сила1=1000;
защита1=3000;
сила2 = 1500;
защита2 = 2500;
кф2=рассчет_коэф(сила2, защита2);

while(1){
  кф1=рассчет_коэф(сила1, защита1);
  результат = вызов_рекурсии_боев(сила1, защита1, сила2, защита2);
  если(результат)выход_из_цикла;
  защита1 += шаг_цикла;
}

вызов_рекурсии_боев(сила1, защита1, сила2, защита2){
  защита1 = защита1 -сила2;
  защита2 = защита2 -сила1;
  сила1 = защита1*кф1;
  сила2 = защита2*кф2;

 если(сила1<0 or сила2<0 )вернуть false;#экстреный выход из рекурсии

 следующий_бой = (защита1 -сила2) - (защита2 -сила1);
 
 если( следующий_бой > 0 ){
   если (сила1>силы2) вернуть true;
   рез_рекурсии = вызов_рекурсии_боев(сила1, защита1, сила2, защита2);
   возврат рез_рекурсии;
 }
 или если(следующий_бой == 0){
  если (сила1>силы2) вернуть true;
  вернуть false;
 }
 или{
    вернуть false;
 }
}


ну может както так наверно ))) хотя возможно есть вариант и получше

может какнибудь так???
« Последнее редактирование: 09 Декабря 2007, 21:05:19 от ravshaniy »
убили кенни, сволочи

Оффлайн ravshaniy

  • Фанат форума
  • Постоялец
  • ***
  • Сообщений: 191
  • +0/-0
  • 0
    • Просмотр профиля
    • http://
Алгоритм не по теме
« Ответ #5 : 09 Декабря 2007, 17:03:45 »
в экселе создал документ примерно моделирующий бой

и условия победы начинаются для группы1 с защиты равной 3751, только в десятом бою перевес силы будет на стороне группы1

если нужен будет файл ) перешлю по почте, не знаю как эго добавить к форуму
убили кенни, сволочи

Оффлайн Error202

  • Бесстрашный
  • Ветеран
  • *****
  • Сообщений: 540
  • +1/-0
  • 2
    • Просмотр профиля
    • http://www.tender-plus.ru
Алгоритм не по теме
« Ответ #6 : 09 Декабря 2007, 19:25:05 »
error-202@mail.ru

Если не сложно, вышлите пожалуйста...
очень любопытно...
Космическая игрушка

Оффлайн lisaa

  • Новичок
  • *
  • Сообщений: 1
  • +0/-0
    • Просмотр профиля
Re: Алгоритм не по теме
« Ответ #7 : 06 Декабря 2014, 07:56:54 »
При повторном вводе числа, результат должен быть такой же, как и при первом вводе...

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28