Exemplo n.º 1
0
 /**
  * Fire::getProbabilityToShotAgainForAttackerShipOfType()
  * This function return the probability of a ShipType to shot thanks RF
  * @param ShipType $shipType_A
  * @return int
  */
 private function getProbabilityToShotAgainForAttackerShipOfType(ShipType $shipType_A)
 {
     $p = 0;
     foreach ($this->defenderFleet->getIterator() as $idFleet => $shipType_D) {
         $RF = $shipType_A->getRfTo($shipType_D);
         $probabilityToShotAgain = 1 - GeometricDistribution::getProbabilityFromMean($RF);
         $probabilityToHitThisType = $shipType_D->getCount() / $this->defenderFleet->getTotalCount();
         $p += $probabilityToShotAgain * $probabilityToHitThisType;
     }
     return $p;
     /* old way
        $p = 0;
        foreach ($this->defenderFleet->getIterator() as $idFleet => $shipType_D)
        {
        $RF = $shipType_A->getRfTo($shipType_D);
        if (!self::SPEEDSIM)
        {
        $RF = max(0, $RF - 1);
        }
        $probabilityToShotAgain = ($RF != 0) ? 1 - GeometricDistribution::getProbabilityFromMean($RF) : 0;
        $probabilityToHitThisType = $shipType_D->getCount() / $this->defenderFleet->getTotalCount();
        $p += $probabilityToShotAgain * $probabilityToHitThisType;
        }
        return $p;
        */
 }