ciao sto cercando di creare un mini "gioco",giusto per assestare le mie conoscenze basilari
dovrebbe funzionare cosi: un soldato e un mostro che hanno nome,forza,energia vitale.
se il soldato attacca il mostro toglierà dalla sua energia vitale il quantitativo di danni pari alla sua forza,come accade in ogni gioco.
col procedurale è una c*****a farlo,ma ad oggetti??
Codice PHP:
<?php #CLASSE PRINCIPALE
class warrior {
private $nome;
private $forza;
private $energia;
public function __construct($n,$f,$e) {
$this->nome=$n;
$this->forza=$f;
$this->energia=$e;
}
public function getnome() {
return $this->nome;
}
public function getforza() {
return $this->forza;
}
public function getenergia() {
return $this->energia;
}
}
#UNITA' UOMO
class soldier extends warrior {
public function __tostring() {
return "Unita' umana: ".parent::getnome().", Forza:".parent::getforza().", Energia:".parent::getenergia();
}
public function fight($r) {
return new warrior($r->energia-$this->forza);
}
}
#UNITA' MOSTRO
class monster extends warrior {
public function __tostring() {
return "Unita' mostro: ".parent::getnome().", Forza:".parent::getforza().", Energia:".parent::getenergia();
}
}
$soldato=new soldier(sold,5,10);
echo $soldato."</br>";
$mostro=new monster(most,7,15);
echo $mostro."</br>";
$c=$soldato->fight($mostro);
echo $c; ?>
il codice funziona fino alle echo delle caratteristiche delle 2 unità.non va la funzione fight,cosa ho sbagliato?
grazie