Partage
  • Partager sur Facebook
  • Partager sur Twitter

Un mini-RPG

mais alors vraiment mini :)

    31 janvier 2006 à 12:27:03

    Forcément si tu cries "ça ne marche pas", sans montrer de code, sans dire ce que tu fais ni rien...
    Si tu essaies d'utiliser fgets comme gets, ça ne marchera pas ; je devine d'ici que tu as oublié de virer le caractère \n à la fin de la lecture avec fgets.
    buf[strlen(buf) - 1] = '\0';
    • Partager sur Facebook
    • Partager sur Twitter
      31 janvier 2006 à 16:00:30

      Non, je ne me plaignais pas que ``fgets() ne marche pas comme ``gets(), je le savais... et puis je n'avais pas fait de tests sérieux avec ``fgets(). ``gets() marchait très bien pour ce que j'en faisais et était simple, donc je l'ai pris >_>

      Merci pour le code, c'était exactement mon problème :) (ca ne copiait pas le premier caractère saisi)

      EDIT: ça marche ;)
      • Partager sur Facebook
      • Partager sur Twitter
        31 janvier 2006 à 19:21:57

        une victoire pour rz0 !! :D lol
        par contre j'ai pas très bien compris buf[strlen(buf) - 1] = '\0';
        enfin j'ai compris ce qu'on fait mais on doit le placer où ?
        • Partager sur Facebook
        • Partager sur Twitter
          31 janvier 2006 à 19:32:05

          Juste après ton fgets. :)
          buf[strlen(buf) - 1] = '\0';
          En clair le dernier caractère de la chaîne sera : \0 enfin je crois que c'est ça non ? ça prend la longueur total de la chaîne de caractère appelé buf et ça soustrait un... :euh:
          • Partager sur Facebook
          • Partager sur Twitter
            31 janvier 2006 à 19:33:46

            ouep c'est ca, \0 c'est le caractère nul en fin de chaine
            • Partager sur Facebook
            • Partager sur Twitter
              31 janvier 2006 à 20:14:54

              Ah ouais ? J'aurais appris quelque chose :p
              J'ai fini mon RPG texte moi enfin disons que j'attends le prochain chapitre de M@teo21 maintenant :D
              RPG.zip ( toujours aussi peu portable :euh: )
              • Partager sur Facebook
              • Partager sur Twitter
                31 janvier 2006 à 21:47:55

                Héhé, il plante ton RPG (à moi de voir où °D )

                Edit: en fait ça vient du fait que tu utilises ``scanf(), qui est pire que la regrétée ``gets() =) En effet, imaginons que je rentre une valeur non-numérique... ça plante!

                utilise ``fgets() pour toute saisie de variable
                • Partager sur Facebook
                • Partager sur Twitter
                  31 janvier 2006 à 22:09:08

                  Et bah moi à l'utilisateur je lui dis : T'as qu'à mettre des valeurs numériques :p Et s'il m'obéis pas et bien le programme bug c'est tout :diable:
                  PS : Le pire c'est scanf(); ou le gets(); ? :lol:
                  PS2 : gets(); c'est du "concentré de caca en boite" :colere:
                  • Partager sur Facebook
                  • Partager sur Twitter
                    31 janvier 2006 à 23:23:46

                    Willy_Paper, garre au rz0 qui rôde dans le topic Mini-RPG... toi aussi rejoins-nous sous sa marque @__@

                    hum bref, voici la tant attendue version 1.2. Encore plus dégueulasse, presque aucun commentaire MAIS!
                    1.2
                    *passage de ``gets() à ``Vgets()
                    *passage de ``strcmp() à ``Vcmp()
                    *apparition de fonctions qui gèrent les erreurs de saisie
                    *prise en compte du bug du piège de l'inventaire et correction
                    *prise en compte de l'exploit 'j'ai-pas-le-skill-mais-je-le-fais-quand-même' et correction
                    *ajout d'un facteur 'poids' (weight) pris en compte dans le DD de Rush (SW)
                    *définition de la SPD en fonction de weight
                    Et ça avance!

                    Prévu:
                    1.3
                    [SID]*apparition des statuts néfastes et positifs (création de variables
                    statistiques temporaires pour ne pas altérer les stats basiques)
                    [SID]*apparition du job Moine (MK) basé sur les statuts positifs et le Heal
                    [SID]*deux nouvelles capacités pour épéiste, voleur, et magicien

                    1.4
                    [SID]*creation d'un systeme de sauvegarde
                    [SID]*création d'un BG et d'un morceau d'aventure
                    (hé oui un RPG ça se limite pas au choix du job et à un combat contre un Poring >_>)


                    Le lien: allez sur la page web:
                    http://membres.lycos.fr/vladnautilus/
                    et cliquez sur l'unique lien °D
                    • Partager sur Facebook
                    • Partager sur Twitter
                      1 février 2006 à 2:42:54

                      Willy_Paper ton RPG est bien (bien que bourré de truc non portable ^^) a un seul petit truc (que jai trouvé ^^) Quand on lvl up si on met un chiffre ayant une valeur quelque peu elevée (200000000 que jai testé mais bon :P) qui dépasserai d'un brin la limite d'un long (ou int) fait tout planté et on sa ramasse a pouvoir mettre encore des chiffres dans les autres stats :-°
                      • Partager sur Facebook
                      • Partager sur Twitter
                        1 février 2006 à 10:55:16

                        Salut je voudrais savoir s'il y a quelqu'un qui pourrait m'aider, je voudrais faire une structure pour chaque adversaire que l'on rencontrera dans mon futur RPG texte mais j'ais un peu de mal avec les structures.
                        Quelqu'un pourrait m'expliquer ?
                        En plus ceux qui connaissent les structures sont trèèèès fort ! (et hop un coup de lèche :lol: )
                        • Partager sur Facebook
                        • Partager sur Twitter
                          1 février 2006 à 13:02:55

                          Ben le code de Willy paper ou le mien est un exemple assez concret d'utilisation d'une structure :-°
                          • Partager sur Facebook
                          • Partager sur Twitter
                          Anonyme
                            1 février 2006 à 13:22:06

                            Bientot les class?
                            Allez vive la POO! ^^
                            • Partager sur Facebook
                            • Partager sur Twitter
                              1 février 2006 à 13:29:33

                              Il a failli passer :-° Bien joué, JC_master >_>
                              • Partager sur Facebook
                              • Partager sur Twitter
                                1 février 2006 à 14:10:01

                                Citation : virtuajeans

                                Salut je voudrais savoir s'il y a quelqu'un qui pourrait m'aider, je voudrais faire une structure pour chaque adversaire que l'on rencontrera dans mon futur RPG texte mais j'ais un peu de mal avec les structures.
                                Quelqu'un pourrait m'expliquer ?
                                En plus ceux qui connaissent les structures sont trèèèès fort ! (et hop un coup de lèche :lol: )



                                Les sturcture :

                                Tout d'abord une structure est une variable.
                                La particularite de cette variable est quelle contien plusieurs autres variable, que tu aura deffini avant.

                                En gros, avant de pouvoir declarer une structure , tu dois la definire.

                                Une structure se definie comme suit :


                                struct nom_de_la_structure
                                {
                                   /* liste des variables contenues dans la structure */
                                 
                                   int  vie;
                                   char *nom;
                                   void **av;
                                   
                                   /*(...) tu peu mettre tout ce que tu veus!

                                };   // ne pas oublier le ; ...
                                 


                                ensuite lorsque tu veus declarer une variable structure, tu dois le faire de la manierre suivant :


                                int main()
                                {
                                  /* (...) */

                                  struct nom_de_la_structure nom_de_la_variable;   /* ne pas oublier le struct

                                  /* (...) */

                                }


                                Enfin pour pouvoir acceder aux varriables contenues dans la structure on utilise le "." de la facon suivante :
                                nom_de_la_structur.nom_de_la_variable



                                   general_game_data.heal = 100;



                                La ligne precedente par exemple mettera la varable heal contenu dans la structure general_game_data a 100.

                                Voila :D
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  1 février 2006 à 15:04:42

                                  Bonjours tous le monde,

                                  Apres mon morpion je suis rester un peu sur ma faim sans trouver de petit programe a faire et qui m ' interesse et la je tombe sur ce topic ^^

                                  Alors voila pour l' instant je n'utilise que scanf mais avec un controle au niveau du nombre de valeur lu , plus vidage du Buffer.

                                  Donc apres avoir lu tout ce topic je me pose cette question : fgets() utilise t - il les espace comme separateur ?

                                  Je vous remerci d' avance pour la reponce a cette question qui me creuse les meninges
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    20 février 2006 à 12:45:20

                                    Citation : Neodyme

                                    Citation : Portnaouak

                                    non pas JRTM, incodable avec toutes ses tables a tout va. et puis super lourd^^


                                    >> c'est clair que tu peux pas (enfin si tu peux mais c'est d'un lourd...) coder les combats exactement comme dans JRTM mais tu peux t'en inspirer :)



                                    Les tables De wharammer 40K (j'ai pas le bouquin de règle des Battles) ne sont pas dur à coder; quelque condition et on a coder une table; Par exemple pour le talbeau de touche pour l'assaut voici le code (ce n'est pas exactement le même tableau mais le principe reste identique):


                                    #include <stdio.h>
                                    #include <stdlib.h>

                                    long toucheAssaut(long CCA, long CCD);

                                    int main()
                                    {
                                        long CCA = 0, CCD = 0, touche;
                                       
                                        //on demande la valeur de CC des deux opposants
                                        printf("Quel est la valeur de la CC de l'attaquant??");
                                        scanf("%ld", &CCA);
                                        printf("quel est la valeur de la CC du defenseur??");
                                        scanf("%ld", &CCD);
                                       
                                        touche = toucheAssaut(CCA, CCD);
                                        printf("il faut %ld ou plus pour toucher l'adversaire\n\n", touche);
                                       
                                        system("PAUSE");
                                        return 0;
                                    }

                                    long toucheAssaut(long CCA, long CCD)
                                    {
                                        int touche = 0;
                                       
                                        //le jet pourtoucher et calculé en fonction de la CC des deux opposants
                                        if (CCA>=CCD && CCA<(CCD-2))
                                        {
                                            touche = 4;
                                        }
                                        else if (CCA<(CCD-3))
                                        {
                                            touche = 5;
                                        }
                                        else if (CCA >(CCD+1))
                                        {
                                            touche = 3;
                                        }
                                        else//si vraiment y a un bug et qu'aucune valeur ne correspond; on donne la valeur moyenne de 4
                                        {
                                            touche = 4;
                                        }
                                       
                                        return touche;
                                    }


                                    Le problème reste d'en trouver l'utilité dans un RPG texte (entre autre au niveau des armes ayant une portée) sinon pour le corps a corps il n'y a aucun problème ;)
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      20 février 2006 à 13:08:45

                                      Petite faute d' orthographe lorsqu' on a éliminé tout l' monde:

                                      Celui-ci vous remet le titre decommandant des armees !!
                                      • Partager sur Facebook
                                      • Partager sur Twitter

                                      Un mini-RPG

                                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                      • Editeur
                                      • Markdown