Полностью пересчитана система скорострельности кораблей

Тема в разделе "Новости", создана пользователем Satana, 5 ноя 2015.

  1. Definition of Madness

    Definition of Madness Пользователь

    Сообщения:
    88
    Симпатии:
    17
    Ээээ, рандом? А нахрена? Или я не так понял? Объясни этот момент с рандомом, пожалуйста.
     
  2. Satana

    Satana Администратор Команда форума

    Сообщения:
    1.607
    Симпатии:
    170
    Вот добротный кусок кода:
    Код:
            foreach ($attackers as $fleetID => $attacker) {
                $attackDamage[$fleetID] = 0;
                $attackShield[$fleetID] = 0;
                $attackAmount[$fleetID] = 0;
    
                $attTech    = (1 + (0.1 * $attacker['player']['military_tech']) + $attacker['player']['factor']['Attack']); //attaque
                $defTech    = (1 + (0.1 * $attacker['player']['defence_tech']) + $attacker['player']['factor']['Defensive']); //bouclier
                $shieldTech = (1 + (0.1 * $attacker['player']['shield_tech']) + $attacker['player']['factor']['Shield']); //coque
                $attackers[$fleetID]['techs'] = array($attTech, $defTech, $shieldTech);
                   
                foreach ($attacker['unit'] as $element => $amount) {
                    $thisAtt    = $amount * ($CombatCaps[$element]['attack']) * $attTech * (rand(80, 120) / 100); //attaque
                    $thisDef    = $amount * ($CombatCaps[$element]['shield']) * $defTech ; //bouclier
                    $thisShield    = $amount * ($pricelist[$element]['cost'][901] + $pricelist[$element]['cost'][902]) / 10 * $shieldTech; //coque
    
                    $attArray[$fleetID][$element] = array('def' => $thisDef, 'shield' => $thisShield, 'att' => $thisAtt);
    
                    $attackDamage[$fleetID] += $thisAtt;
                    $attackDamage['total'] += $thisAtt;
                    $attackShield[$fleetID] += $thisDef;
                    $attackShield['total'] += $thisDef;
                    $attackAmount[$fleetID] += $amount;
                    $attackAmount['total'] += $amount;
                }
            }
    Там видно, что используется небольшой рандом в диапазоне 80-120 (перемноженный на коэффициент) для атаки и для дефа
     
  3. BabyOfTheWar

    BabyOfTheWar Активный пользователь

    Сообщения:
    243
    Симпатии:
    32
    У атакующего меньше урона, меньше мяса, но он выносит :D
     
  4. Satana

    Satana Администратор Команда форума

    Сообщения:
    1.607
    Симпатии:
    170
    Это странно, но он вынес во втором раунде
     
  5. Back_to_USSR

    Back_to_USSR Пользователь

    Сообщения:
    48
    Симпатии:
    4
    ну может атакующий за первый залп сносит большую часть СЗ. эт как в героях. 100 лучников против 100 лучников. выиграет тот кто первый выстрелит
     
  6. Nikerouler

    Nikerouler Активный пользователь

    Сообщения:
    171
    Симпатии:
    33
    на сколько я знаю тут сначала обе стороны делают выстрелы, а потом подсчитывается результат