proWoke
Новичок
Я понимаю, что это уже на флуд похоже, но хочется задать вопрос. Вот это уже ООП?
Есть пользовательский тип данных монстры из вакрафта. Он содержит информацию о типе монстра и количество их. Дальше мы можем убивать или воскрешать их через методы kill и revive.
Используем
Есть пользовательский тип данных монстры из вакрафта. Он содержит информацию о типе монстра и количество их. Дальше мы можем убивать или воскрешать их через методы kill и revive.
PHP:
<?
class WС3_Monstrs {
protected $type;
protected $count;
protected $current;
public function __construct($type,$count=0) {
$this->type = $type;
$this->count = $count;
$this->current = $this->count;
}
public function kill($count) {
$this->current = $this->count - $count;
if ($this->current < 0) throw new Exception("Вы пытаетесь убить существ больше, чем их есть!");
}
public function revive($count) {
$this->current = $this->current + $count;
if ($this->current > $this->count) throw new Exception("Нельзя восстановить существ больше, чем их было до битвы!");
}
public function __toString() {
echo "За битву было убито ".("{$this->count}" - "{$this->current}")." {$this->type}";
}
}
PHP:
<?
require_once "lib/config.php";
require_once "WC3/Monstrs.php";
try {
$fight = new WС3_Monstrs('orc',14);
$fight->kill(1);
$fight->revive(1);
echo $fight->__toString();
} catch (Exception $e) { echo $e->getMessage(); }