JeuWeb - Crée ton jeu par navigateur
[Résolu] Objet équipé ou non - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [Résolu] Objet équipé ou non (/showthread.php?tid=2608)

Pages : 1 2


[Résolu] Objet équipé ou non - Ginobili - 27-05-2008

Bonsoir,

En voulant créer mon jeu j'ai rencontré un petit soucis :

Voila le code (simplifié) :
Code :
OBJETS EQUIPES :
if ($objet_equipe == 1)
{
echo ''.$objet_nom.'';
}
else
{
echo 'Vous n'avez pas d'objet équipé';
}

OBJETS DANS VOTRE SAC :
if ($objet_equipe == 0)
{
echo ''.$objet_nom.'';
}
else
{
echo 'Vous n'avez pas d'objet dans votre sac.';
}

Mais le problème c'est que lorsque que le membre a un objet équipé et un objet dans son sac, il n'en affiche qu'un seul !
Et là je bloque depuis hier ...

Merci pour votre aide !


RE: Objet équipé ou non - if...else - Sephi-Chan - 27-05-2008

Dans ce cas, ton script est mal conçu. Il faudrait que tu nous décrives un peu plus ce que tu veux avoir au final : un personnage a-t-il plusieurs emplacements pour son équipement (sur la tête, les épaules, etc.) ? Décris-nous le système que tu veux.

À priori, je dirais qu'il te faut un tableau objets qui contient lui même des tableaux (un pour chaque objet) qui ont une clé estEquipé qui prend comme valeur 0 ou 1.


Sephi-Chan


RE: Objet équipé ou non - if...else - Ginobili - 27-05-2008

Alors oui j'ai plusieurs objets : Un pour la tête (casque) pour les épaules, le torse (armure), les jambes, les pieds et le doigt. J'ai donc une table pour chaque objet avec une colonne équipé qui contient un 1 ou un 0.
J'aimerais donc afficher ce qui est équipé dans un premier paragraphe (ou tableau), puis ce qui n'est pas équipé et qui est donc dans le sac du joueur.

En tout cas merci pour ton aide !


RE: Objet équipé ou non - if...else - keke - 28-05-2008

Coucou,
J'imagine que tu as une table OBJET avec au moins 2 champs. Appellons ces variables (nom, emplacement)

Emplacement contient la valeur 0 si l'objet est nul part, 1 si l'objet est équipé, et 2 si l'objet est dans le sac à dos.

Ces valeurs sont mutuellement disociable ... (i.e. : un objet ne peut pas être équipé s'il est dans le sac à dos ...)
Tu listes alors les objets dont la valeur est 1, puis les objets dont la valeur est 0 et enfin les objets dont la valeur est 2.

Cela te convient-il ?

kéké.


RE: Objet équipé ou non - if...else - Cartman34 - 28-05-2008

A mon avis le plus simple, ce n'est pas l'idée de Sephi (désolé mais bon...).
Le mieux est d'avoir un tableau contenant tout les lieux où un objet peut être équipe et pour chaque endroit mettre l'ID de l'objet correspondant et 0 s'il n'y a rien...
De plus, ton code peut tenir sur 4 lignes s'il était optimisé...
Après tu peux aussi signalé dans la classe de l'objet s'il est équipé(comme proposer précédement par Sephi et kéké), vu que c'est de la POO, il y aura sûrement pas de faille mais ca ne sert pas à grand chose à part à simplifier certaines verifs.


RE: Objet équipé ou non - if...else - Sephi-Chan - 28-05-2008

Comme quoi on ne peut pas tout anticiper, la solution que j'apportais était livrée sans savoir s'il y avait un objet par emplacement. Smile

Voici la méthode que je propose :
  • L'objet Personnage possède un attribut equipement qui est un tableau. Ce tableau possède une clé pour chaque emplacement (tête, épaules, etc.), chacune contenant un objet Objet.
  • L'objet Personnage possède également un attribut inventaire, qui est une liste d'objets Objet.

Sephi-Chan


RE: Objet équipé ou non - if...else - Ginobili - 28-05-2008

Mais ouuuui ! C'est bon j'ai trouvé ! Merci beaucoup pour la piste ! Désolé pour le dérangement ...


RE: [RESOLU]Objet équipé ou non - if...else - keke - 28-05-2008

Dans ce cas, détail ta réponse ... Elle pourra servir à d'autres ^^

Kéké.


RE: [RESOLU]Objet équipé ou non - if...else - Ruz - 28-05-2008

oui, suis très intéressé aussi ^^

Je travaillais avec une table contenant l'ID de l"objet par emplacement, et une table ID - objet - type
finalement, j'ai abandonné ce système...
donc, si tu trouves une bonne solution, je reviendrai pitet en arrière ^^


RE: [RESOLU]Objet équipé ou non - if...else - zneman - 28-05-2008

Moi je ferrais deux tables:

Table t_configEquipement:

+--------------------+--------------------+-------------------+-------------------+---------------------+
|---id_arme----------|------type_arme-----|------force_arme--|----defense_arme---|--prix_arme----------|
+--------------------+--------------------+-------------------+-------------------+---------------------+

Puis une table t_ArmesMembres:

+--------------------+--------------------+-------------------+
|----id_membre-------|----id_arme---------|-emplacement_arme |
+--------------------+--------------------+-------------------+

Quelque chose du genre en fait Big Grin
Enfin... il existe de multiples façons...