myTribu::reb0rn Search Members Help Calendar
Welcome Guest .:: Log In :: Register ::. .:: Resend Validation Email  

Reply to this topicStart new topicStart Poll

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

Deather

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 683
Member No.: 3
Joined: 28-December 03

Posted: Sep 7 2004, 18:13 PM   Quote Post 

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

 PMEmail Poster  Top

Deather

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 683
Member No.: 3
Joined: 28-December 03

Posted: Sep 7 2004, 18:39 PM   Quote Post 

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 :-)

 PMEmail Poster  Top

DarkFantasy

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 684
Member No.: 4
Joined: 21-June 04

Posted: Sep 7 2004, 19:03 PM   Quote Post 

Critique si j'peux m'permettre Langue.gif 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 ? laugh.gif ( Pas l'UCs Langue.gif )
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 Langue.gif 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 ClinDOiel.gif

Sinon un warning c'est qu'un avertissement ( D'où le nom Langue.gif ) c'est par forcement à prendre en compte : Pour tes warnings, je suis pas un pro de GCC ( ni d'autres choses d'ailleurs hein Langue.gif ) 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 ClinDOiel.gif Voila j'espère t'avoir aider Langue.gif

____________________
user posted imageuser posted image

 PMEmail PosterUsers WebsiteMSN  Top

Deather

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 683
Member No.: 3
Joined: 28-December 03

Posted: Sep 7 2004, 19:16 PM   Quote Post 

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 :/

 PMEmail Poster  Top

DarkFantasy

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 684
Member No.: 4
Joined: 21-June 04

Posted: Sep 7 2004, 20:15 PM   Quote Post 

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 ClinDOiel.gif

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 Langue.gif

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 smile.gif ( et de la galère ) Inutile de te demander pourquoi tu n'fais pas d'objet pour l'inventaire ? Langue.gif
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 Langue.gif ).
PS: Tu pourrais pas faire autre chose que 0 // comme # à la nuxienne ? laugh.gif ou encore // Bon code smile.gif

____________________
user posted imageuser posted image

 PMEmail PosterUsers WebsiteMSN  Top

Deather

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 683
Member No.: 3
Joined: 28-December 03

Posted: Sep 7 2004, 21:10 PM   Quote Post 

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

 PMEmail Poster  Top

Deather

CALLBACK
***************
Group: Administrateu(r|se)
Posts: 683
Member No.: 3
Joined: 28-December 03

Posted: Sep 8 2004, 00:21 AM   Quote Post 

Voilà, mise à jour.
J'ai tout recodé en C++, avec les fstreams. Ça n'apporte rien concretement, c'est juste un peu plus propre, bref ça fais pas de mal puis j'ai découvert des nouvelles fonctions. :-)

C'est toujours le même lien

J'ai toujours un problème avec la fonction qui compte le nombre d'items dans la base de donnée.
Ah oui les commentaires sont maintenan précédé d'un "#".


Edit: Je viens de me rendre compte que la boucle while tourne en boucle dans GetTotalItems.
Faut pas en tenir compte je bosserai dessus demain ;-)

Pour info: Il y'a actuellement 1487 lignes de code user posted image
ok j'sors user posted image

 PMEmail Poster  Top

 0 User(s) are reading this topic (0 Guests and 0 Anonymous Users)
0 Members:

Reply to this topicStart new topicStart Poll

 


Top