 |
[C++] Rpg : Mise à jour!
 |
|
 |
 |
|
 |
|

|
CALLBACK |
|
               |
|
Group: Administrateu(r|se) |
|
Posts: 683 |
|
Member No.: 3 |
|
Joined: 28-December 03 |
|
|
|  |
|
|
Salut, voilà, la dernière release du RPG est disponible! Nouveautées:- Gestion des items à travers une base de données
- Début d'implémentation de la gestion de l'inventaire
- Choix de la classe du personnage: stats en conséquences (bientôt un random en plus)
- Choix du sexe et du skin
J'aurai besoin d'un peu d'aide aussi, à la compilation il m'affiche un warning:
CODE | Items.cpp: In function `ItemPrty GetItemPrty(int)': Items.cpp:46: warning: char format, different type arg (arg 4)
|
J'comprend pas pourquoi, si vous pouviez m'aider... Lisez les commentaires présents dans le fichier Items.cpp, vous verez ;-) @+! Deather Téléchargement
| |
|
|
 |
|
 |
 |
|
 |
|

|
CALLBACK |
|
               |
|
Group: Administrateu(r|se) |
|
Posts: 683 |
|
Member No.: 3 |
|
Joined: 28-December 03 |
|
|
|  |
|
|
Ah oui j'oublias, si quelqu'un veut bien essayer de faire une build pour Windows à l'aide de Visual C++, il faut installer pdcurses (ncurses version win), y'a un .h à mettre dans le dossier include et un .lib dans le dossier lib ;-) Faut pas oublier d'ajouter le .lib au projet... Voilà!
Merci :-)
| |
|
|
 |
|
 |
 |
|
 |
|

|
CALLBACK |
|
               |
|
Group: Administrateu(r|se) |
|
Posts: 684 |
|
Member No.: 4 |
|
Joined: 21-June 04 |
|
|
|  |
|
|
Critique si j'peux m'permettre C'est vraiment dégeux d'utiliser du standars C pour la gestion des fichiers avec que ton projet est en C++ et alors fstream ? C'est pour les pingouins ? ( Pas l'UCs ) Sinon ton code c'est du C ou du C++ ?
CODE | struct ItemPrty t_ItemPrty; //Création de la structure |
ItemPrty t_ItemPrty; suffit en C++ contrairement en C  aussi c'est pas forcement très bon de créer des struct à tout va, mieux vaut utiliser des pointeurs mais ça tu verras par toi même  Sinon un warning c'est qu'un avertissement ( D'où le nom  ) c'est par forcement à prendre en compte : Pour tes warnings, je suis pas un pro de GCC ( ni d'autres choses d'ailleurs hein  ) mais j'suis un peu près sur que ça vient du fait qu'on peut lire EXCLUSIVEMENT des chars dans un fichier et twâ tu tentes d'ouvrir sous forme d'un int ! Si tu veux utiliser une valeur >255 il faut convertir le int en char ( pas un cast simple dont je parle mais les fonctions genre atoi() ) et inversement pour le lire  Voila j'espère t'avoir aider
____________________
| |
|
|
 |
|
 |
 |
|
 |
|

|
CALLBACK |
|
               |
|
Group: Administrateu(r|se) |
|
Posts: 683 |
|
Member No.: 3 |
|
Joined: 28-December 03 |
|
|
|  |
|
|
Re, merci pour ta réponse, alors, c'est bien du C++, mais je préfère utiliser la méthode d'accès aux fichier C car je la préfère, question de gouts personnels. Peut être que j'ai pas assez utilisé la version C++, mais c'est ce que j'utilise pour la (future) gestion des sauvegarde, et j'aime pas vraiment ;-)
Ensuite, je crois que t'as mal compris le warning; C'est dans la fonction sscanf() que voici:
CODE | sscanf(Line,"%i %s %i %i %i %i %i %i %i %i", int, char, int, int ...); |
L'argument n°4 est un char car je récupère le nom de l'item (d'où le %s), donc j'comprend pas :/
| |
|
|
 |
|
 |
 |
|
 |
|

|
CALLBACK |
|
               |
|
Group: Administrateu(r|se) |
|
Posts: 684 |
|
Member No.: 4 |
|
Joined: 21-June 04 |
|
|
|  |
|
|
QUOTE (Deather @ Sep 7 2004, 06:16 PM) | Re, merci pour ta réponse, alors, c'est bien du C++, mais je préfère utiliser la méthode d'accès aux fichier C car je la préfère, question de gouts personnels. Peut être que j'ai pas assez utilisé la version C++, mais c'est ce que j'utilise pour la (future) gestion des sauvegarde, et j'aime pas vraiment ;-)
Ensuite, je crois que t'as mal compris le warning; C'est dans la fonction sscanf() que voici:
CODE | sscanf(Line,"%i %s %i %i %i %i %i %i %i %i", int, char, int, int ...); |
L'argument n°4 est un char car je récupère le nom de l'item (d'où le %s), donc j'comprend pas :/
|
Certe m'enfin c'est comme mélanger STL et Win32 c'est mauvais, et puis une fois compris les fstream sont très très simple à utiliser ! Surtout avec ce que tu veux faire  QUOTE | Ensuite, je crois que t'as mal compris le warning; C'est dans la fonction sscanf() que voici: |
Désolé j'pouvais pas voir la ligne exact  QUOTE | CODE | sscanf(Line,"%i %s %i %i %i %i %i %i %i %i", int, char, int, int ...); |
|
Comme j'ai dit au dessus, les fstreams t'économiseraient bien du code  ( et de la galère ) Inutile de te demander pourquoi tu n'fais pas d'objet pour l'inventaire ? Je crois que ça vient du fait que %s lis par rapport à un buffer donc par une adresse ( pointeur ) et là la méthode est plutôt du genre char par char, en plus un buffer est obligatoirement terminé par un 0x00 et ici c'est un 0x20 donc j'crois pas que ça marche. Enfin le meilleur conseil que j'pourrai te donner c'est de faire un objet pour ça qui dans le constructeur ouvre le fichier et le copie dans un buffer puis lis de ce qu'il a besoin. Pour t'faire envie j'crois que tu peux utiliser le chargement de donné à la cin ( avec les >> ce qui est plus concis dans le code  ). PS: Tu pourrais pas faire autre chose que 0 // comme # à la nuxienne ?  ou encore // Bon code
____________________
| |
|
|
 |
|
 |
 |
|
 |
|

|
CALLBACK |
|
               |
|
Group: Administrateu(r|se) |
|
Posts: 683 |
|
Member No.: 3 |
|
Joined: 28-December 03 |
|
|
|  |
|
|
Okay, j'recode tout ça en C++ :-) Avec un peu de chance ça marchera mieux ;-)
Merci pr ton aide tu va me faire coucher tard encore :-p
| |
|
|
 |
|
| |