foreach ($yards as $id => $yard) { $timeDiff = $time - $_SESSION['last_multiple'][$id]; if ($timeDiff >= $config['period']) { // получим кратность увеличения (может прошло больше одного периода умножения) $steps = (int) floor($timeDiff / $config['period']); if (count($yard) > 1) { $control->createSheepInYard($id, $steps); } // если овечек нет или только одна - значит обнуляем период размножения в любом случае $_SESSION['last_multiple'][$id] = $time; } } } // если пришла команда - заполним $_REQUEST данными из команды if (array_key_exists('command', $_REQUEST)) { Command::parseCommandToRequest($_REQUEST['command'], $lang); } // УНИЧТОЖЕНИЕ! if (array_key_exists('kill', $_REQUEST)) { $sheeps = Arr::get('sheeps', $_REQUEST['kill'], []); $control->killSheep($sheeps); } // ПЕРЕМЕЩЕНИЕ! if (array_key_exists('move', $_REQUEST)) { $yardId = Arr::get('yard', $_REQUEST['move']); $sheeps = Arr::get('sheeps', $_REQUEST['move'], []); $control->moveSheepToYard($sheeps, $yardId); } // получить индекс кровожадности $bloodyIndex = $control->getBloodyIndex(); // получить всех живых овец из БД