RedBarmaley,
Цитата: VasyaMalevich
Есть оставшаяся энергия (Э1). Это вырабатывая энергия минус все потребители кроме обороны.
Есть энергия обороны (Э2). Это энергия, которая тратится только обороной.
1. Берём все группы и считаем % для них: Р0 = Э1/Э2. Если Р0 > 1, то вся оба вводится в бой. Иначе считаем дальше.
2. Берём самого "тяжёлого" юнита по затратам энергии на одну единицу и выставляем в бой Р0% от имеющегося количества с округлением вниз.
3. Вычитаем из Э1 энергию выставленных юнитов и получаем Э1'.
4. Берём все оставшиеся группы без выставленной и считаем % оставшейся энергии (Э2') от нужной для них: Р1 = Э1'/Э2'
5. Повторяем шаги 2-4 для полученных значений.
Можно и гланды через жопу рвать, но ето нихрена не профитно и ни разу не приятно будет.
Есть вещи которые можно сделать проще и даже нужно. Если вы хотите видеть позитивные отзывы о своей деятельности то нужно вынять руки из жепы и начать делать для игроков обычных игру. Может в игре и должно быть что то что нужно считать, но ето не значит что везде должно быть вагон формул и куски кода, а игрок вместо того чтоб играть, будет чесать репу и играться в математику, comprende?
P.S.
Я бы пилять посмотрел на вас, если бы вам строчек 200 кода дали без каких либо комментов и сказали, на, разбирайся, норм ощущения будут у вас?