Programmes un jeux en c

Bonjour, je voudrais faire un jeux comme the crims (boncou plus petit) mais mon premier pb c que j'ai besoin de faire des variable qui augmente d'un nombre prisse exemple "long force=5 et je voudrais quand fessent une action style un braquage la variable augmente de 5 a 8,5"
Configuration: Windows Vista
Firefox 3.0.9

9 réponses

  1. dans ta fonction braquage tu fais

    function braquage(){

    long_force = long_force + 3,5;

    }

    je ne sais plus si la syntaxe est juste en C mais l'idée est correcte
    1. Contributeur
      Et la syntaxe est juste. Si bien entendu force est une variable globale.
      1. oké merci. je risque de revenir car je pense pas que se sera mondérnier pb
        1. re bonjour voila je n'est pas réussi utiliser la ligne de code que ma donné luc648 je ne sais pas ou la placer dans mon programmes (ce n'est que le débu)

          #include <stdio.h>
          #include <stdlib.h>
          #include <time.h>
          double bracage()
          {
          double force = 7;
          if (force >5)
          force++;//j'ai mi force++ car je quand j'ai mis long_force = long_force + 3,5 sa na pas marché
          else
          printf("entole!!!!");
          return force;
          }

          int main(int argc, char *argv[]){

          printf ("%lf",bracage());

          getchar();// à la place du system("pause") il fo utiliser getchar() aussi non sa ne marche pas
          return 0;
          }
          1. exusé moi je navé pas bien compri la premiere réponse voila mais code

            #include <stdio.h>
            #include <stdlib.h>
            #include <time.h>
            double bracage()
            {
            double force = 7;
            if (force >5)
            force = force +5;
            else
            printf("entole!!!!");
            return force;
            }

            int main(int argc, char *argv[]){

            printf ("%lf",bracage());

            getchar();// à la place du system("pause") il fo utiliser getchar() aussi non sa ne marche pas
            return 0;
            }
            1. Le probleme dans ton code c'est qu'a chaque fois que tu appelles ta fonction braquage() sa valeur sera reinitialisee a 7.. et vaudra toujours 12 a la sortie. Il faut donc la declarere en global..

              #include <stdio.h>
              #include <stdlib.h>
              #include <time.h>
              
              global double force = 7;
              
              double bracage()
              {
                 if (force > 5)
                    force += 5; /* C'est la meme chose que force = force + 5; */
                 else
                   printf("En tole !");
                 return force;
              }
              
              int main(int argc, char *argv[])
              {
                 printf ("%lf", bracage());
                 getchar();
                 return (1);
              }
              
              1. Contributeur
                Salut,
                global double force = 7;
                global n'existe pas en C.

                return (1);
                Il faut retourner 0 lorsque tout va bien.

                printf ("%lf", bracage());
                Pour afficher un double, on utilise %f et non %lf.

                Cdlt
            2. Contributeur
              Salut,
              Le mieux est de passer la variable par adresse.

              #include <stdio.h>
              
              double bracage(double *force)
              {
                 if (*force > 5)
                    *force += 5; /* C'est la meme chose que force = force + 5; */
                 else
                   printf("En tole !\n");
              
                 return *force;
              }
              
              int main(void)
              {
                 double force=7;
                 printf ("%f", bracage(&force));
                  /* force a été modifié.
              
                 getchar();
                 return 0;
              }
              
              1. Encore faut-il faire attention aux pointeurs...

                Pour completer mon alternative on peut enlever le global et rajouter extern pour pouvoir l'utiliser partout !

                Reste a savoir laquelle des deux te conviendrait le mieux !
                1. Contributeur
                  on peut enlever le global
                  global n'existe pas tout court.

                  et rajouter extern pour pouvoir l'utiliser partout !
                  Non. Pour faire une variable "globale" avec une portée au-delà du fichier, un simple double force; défini en dehors de tout scope suffit. L'usage du mot-clé extern est utilisé explique au compilateur que la variable a déjà été déclarée (disponible dans la table des symboles) dans un autre fichier.
                  Mais l'usage de variables globales est déconseillée.