En ce moment, je bosse sur l'inventaire pour mon jeu, mais je rencontre le problème suivant :
- lorsque j'ajoute un objet à mon inventaire, si l'objet est déjà présent, au lieu d'être ajouté à l'élément existant de ma liste, cela me crée un nouvel élément, sauf pour le premier élément.
voici mon code (simplifié), on voit le problème pour les éléments dont l'id = 2 :
Code : Tout sélectionner
Structure objet
id.i
nb.i
EndStructure
NewList drop.objet()
NewList inventaire.objet()
AddElement(inventaire())
inventaire()\id = 1
inventaire()\nb = 2
AddElement(inventaire())
inventaire()\id = 2
inventaire()\nb = 5
AddElement(drop())
drop()\id = 1
drop()\nb = 3
AddElement(drop())
drop()\id = 2
drop()\nb = 9
AddElement(drop())
drop()\id = 1
drop()\nb = 4
AddElement(drop())
drop()\id = 3
drop()\nb = 18
ForEach drop()
For i=0 To ListSize(inventaire())-1
If SelectElement(inventaire(),i)
If inventaire()\id = drop()\id
inventaire()\nb + drop()\nb
ChangeCurrentElement(inventaire(),i)
DeleteElement(drop())
Break
Else
If inventaire()\id <> drop()\id
If SelectElement(inventaire(),ListSize(inventaire())-1)
AddElement(inventaire())
inventaire()\id = drop()\id
inventaire()\nb = drop()\nb
DeleteElement(drop())
Break
EndIf
EndIf
EndIf
EndIf
Next i
Next
Debug "--------------------Inventaire ---------------------"
ForEach inventaire()
Debug "Id : " + Str(inventaire()\id)
Debug "nb : " + Str(inventaire()\nb)
Next

merci à vous
