Оновити 'О магии'
parent
423d19fbd5
commit
828e49ba4e
@ -56,4 +56,36 @@ function smallHealingPotion($caster) # Зелье лечения
|
||||
$baseDamage = 1
|
||||
castDamage($caster, $manaCost, $baseDamage, $caster);
|
||||
}
|
||||
```
|
||||
|
||||
```PHP
|
||||
# Псевдокод
|
||||
function getUnitForEffect($effect)
|
||||
{
|
||||
$aliveUnits = [];
|
||||
|
||||
foreach ($this->units as $unit) {
|
||||
if ($unit->isAlive()) {
|
||||
$aliveUnits[] = $unit;
|
||||
}
|
||||
}
|
||||
|
||||
// Если живых юнитов нет - возвращаем null
|
||||
if (count($aliveUnits) === 0) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Чтобы эффект накладывался случайному юниту, а не первому - перемешиваем массив
|
||||
shuffle($aliveUnits);
|
||||
|
||||
// Проходим по юнитам и проверяем, у кого указанного эффекта нет
|
||||
foreach ($aliveUnits as $unit) {
|
||||
if (!$unit->getEffects()->exist($effect)) {
|
||||
return $unit;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
```
|
Loading…
Reference in New Issue
Block a user