Algo d'inventaire
Discussion générale entre passionnés et amateurs de mathématiques sur des sujets mathématiques variés
-
arcanis
- Membre Naturel
- Messages: 11
- Enregistré le: 28 Avr 2008, 20:31
-
par arcanis » 28 Juil 2008, 15:17
Hello world!
J'ai honte...je suis en train de créer un système d'inventaire pour un jeu, mais dans cet inventaire, on peut changer les objets de place. Or, avant de modifier l'emplacement de l'objet, il faut evidemment vérifier qu'il n'y a rien à cet emplacement auparavant.
On part du principe qu'on a une liste d'objets A contenant les informations suivantes:
AX = Position de l'objet dans l'inventaire en X
AY = Position de l'objet dans l'inventaire en Y
AW = Largeur de l'objet
AH = Hauteur de l'objet
Ainsi que ces informations, qui définissent l'objet B à déplacer:
BX = La position demandée dans l'inventaire, en X
BY = La position demandée dans l'inventaire, en Y
BW = Largeur de l'objet à placer à cet emplacement
BH = Hauteur de l'objet à placer à cet emplacement
Pour chaque objet de la liste A, il faut effectuer un test avec des opérateurs logiques (>, =, = BX AND BX >= AX AND AY + AH - 1 >= BY AND BY >= AY[/HTML]
Mais évidemment ça ne marche pas...
Auriez-vous une idée? Ca m'aiderais vachement :we:
Merci d'avance!
-
Flodelarab
- Membre Légendaire
- Messages: 6574
- Enregistré le: 29 Juil 2006, 15:04
-
par Flodelarab » 28 Juil 2008, 16:14
La première chose que je dirais c'est que la place vacante laissée par un objet est plus grande que l'objet lui même. Donc il manque une donnée.
exemple: Maïté est en plein milieu du stade de France, tu peux la remplacer par un fourgon blindé. Pourtant le fourgon blindé est plus grand que Maïté ... enfin je crois.
-
miikou
- Membre Rationnel
- Messages: 642
- Enregistré le: 07 Juil 2008, 19:38
-
par miikou » 28 Juil 2008, 16:51
un peu de respect pour les gens obèses ..
-
arcanis
- Membre Naturel
- Messages: 11
- Enregistré le: 28 Avr 2008, 20:31
-
par arcanis » 28 Juil 2008, 16:58
Bon, en fait j'ai trouvé! :id:
En fait, je fais exactement l'inverse de ce que je veux: je vérifie que l'objet soit en dehors de l'objet*, autant en X qu'en Y. Et je récupère l'inverse de cette condition, donc True si l'objet est en contact et False dans le cas contraire.
Condition utilisée:
- Code: Tout sélectionner
NOT(
BX + BW - 1 AX + AW - 1 // Si l'emplacement est à droite de l'objet
)
AND
NOT(
BY + BH - 1 AY + AH - 1 // Si l'emplacement est en bas de l'objet
)
* En relisant, je m'aperçois que ça ne veut rien dire ce que je dit... Je voulais dire "l'emplacement demandé en dehors de l'objet"
Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 11 invités