Pour gérer les différents états d'un personnage, je compte créer un champ unique et ensuite utiliser des masques.
Par exemple, en binaire :
Assommé --> status = 0000 0001
Empoisonné --> status = 0000 0010
En php ça donne :
L'avantage de ce système c'est que si par exemple le statut du personnage est à 1111 1111, ça veut dire qu'il est assommé, empoisonné, en feu, malade etc.. On peut combiner les effets assez facilement.Par exemple, en binaire :
Assommé --> status = 0000 0001
Empoisonné --> status = 0000 0010
En php ça donne :
Code PHP :
<?php
define('STUNNED', 0x01);
define('POISONNED', 0x02);
//Ensuite pour tester les cas possible
if($perso->status & STUNNED)
{
// le perso est assommé : traitement associé
}
if($perso->status & POISONNED)
{
// le perso est empoisonné: traitement associé
// par exemple
$perso->HP -= 5;
}
par exemple.
Code PHP :
<?php
$status = STUNNED | POISONNED;