Étape 1
Dans cette 1ère étape, vous allez recréer toutes les classes du TP02 en PHP objet.
Pour mémoire, le TD2 de LOO était une évolution du TD1
(TD_Java_01.pdf,
TD_Java_02.pdf).
Vous pouvez repartir de la correction Java qui vous avait été fournie pour le TD2.
/ |-- playLSG.php |-- lsg |-- LearningSoulsGame.php | |-- characters | |-- Character.php | |-- Hero.php | |-- Monster.php | |-- helper | |-- Dice.php | |-- weapons |-- Claw.php |-- Sword.php |-- Weapon.php
playLSG.php
fera office de "main"
qu'on appellera pour afficher une partie :
playLSG.php
<?php
require_once "lsg/LearningSoulsGame.php" ;
$lsg = new LearningSoulsGame() ;
$lsg->play_v1() ;
?>
- Par rapport à la version Java, la boucle de combat ne se met plus en pause en attendant que l'utilisateur frappe une touche. Ici, la boucle se déroule directement entièrement jusqu'à la mort d'un personnage.
- Les classes PHP ne peuvent avoir qu'un seul constructeur... mais il est possible de donner une valeur par défaut aux paramètres.
-
Vous pouvez générer un entier aléatoire grâce à
random_int
. -
Vous pouvez faire un arrondi grâce à
round
. -
Vous pouvez formatter une chaîne grâce à
sprintf
. -
Pour récupérer le nom (court, sans namespace) de la classe dans un objet :
$nom_classe = (new \ReflectionClass(get_called_class()))->getShortName() ;