Bonjour,
Voilà je dois faire un projet en C++! Il s'agit d'une carte sur laquelle on doit pouvoir afficher un personnage et une liste d'objets. Le personnage peut-être déplacé avec la souris et doit pouvoir interagir avec des objets situés sur la carte (créations de machines d'états). Le résultat final est donc un jeu très basique
Mon personnage s'affiche correctement, se déplace correctement au moyen de la souris mais je peine à afficher les objets...
La liste des objets figure dans un fichier texte est se présente ainsi:
234 123 34 1
111 345 26 2
24 234 12 1
Pour chaque objet, il y a une ligne dans ce fichier (u6mapobjects.txt) comportant 4 éléments. Les deux premiers nombres sont la position sur la carte de l'objet (des nombres entiers entre 0 et 1023, le placement étant compté en tiles). Le troisième nombre est le type de l'objet qui donne le numéro de ligne dans un autre fichier texte (u6objects.txt) pour cet objet. Le dernier nombre est le 'frame' de l'objet indiquant quel tile doit être utilisé pour l'afficher. Les frames servent surtout pour l'animation ou l'affichage de variantes. Voici un exemple:
858 357 312 1
On a un objet de type 312 placé en (858,357). On connait là uniquement la position. Si on veut savoir quoi afficher, il nous faut le 312e élément de u6objects.txt, qui dit
1154 stone lion
On a donc affaire à une statue, représentée par le tile 1154. Dans u6mapobjects.txt, le frame indiqué est 1, donc on voudra afficher le tile 1154 + 1 = 1155 à la position indiquée.
Le but est donc de lire u6mapobjects.txt est d'afficher tous les objets sur la carte mais je ne vois pas trop comment procéder... Un assistant m'a conseillé d'utiliser un vector...
Merci de m'aider![]()
Partager