AccueilAccueil  RechercherRechercher  S'enregistrerS'enregistrer  Connexion  

 

 [résolu]erreur en C...

Aller en bas 
AuteurMessage
DeinDall
Utilisateur confirmé: Rang ****
DeinDall

Messages : 858
Localisation : ~Quimper
Projet Actuel : Un jeu où tu joues.

[résolu]erreur en C... Empty
MessageSujet: [résolu]erreur en C...   [résolu]erreur en C... EmptyDim 16 Jan 2011 - 8:52

bon, voila, je débute en C et j'ai voulu créer un petit jeu sur console que consistait a survivre a des ennemis a la suite... mais voila, erreur...

Mon code :
Code:
#include <stdio.h>
#include <stdlib.h>

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

{
    int vie = 20, vie_max = 20, niveau = 1, exp = 0, attaque = 5, nb_ennemi = 0, ennemi_vie, ennemi_vie_max, ennemi_attaque, choix, quit;
    char nom[100];
    printf("Bien le bonjour...\n");
    printf("tout d'abord, comment t'appelle tu?");
    scanf("%s", nom);
    printf("Salut %s, je suis heureux de te rencontrer !", nom);
    while(vie > 0)
    {
        ennemi_vie = (vie/5)*4;
        ennemi_vie_max = (vie/5)*4;
        ennemi_attaque = (attaque/5)*4;
        choix = 0;
        quit = 0;
        nb_ennemi++;
        printf("\n\n\nennemi numero %d\n\n", nb_ennemi);
        while(quit == 0)
        {
            ennemi_attaque = (attaque/5)*4;
            printf("vie de %s : %d / %d\nvie de l'ennemi : %d / %d \n que voulez vous faire :\n\n1. attaque\n2. defence\n3. fuite",nom ,vie ,vie_max ,ennemi_vie, ennemi_vie_max);
            scanf("%d",choix);
            if (choix == 1)
            {
                printf("charge!");
                ennemi_vie -= attaque;
            }
            if (choix == 2)
            {
                ennemi_attaque = 1;
            }
            if (choix == 3)
            {
                quit = 1;
            }
            printf("l'ennemi attaque");
            vie -= ennemi_attaque;
            printf("vous perdez %d points de vie",ennemi_attaque);
            if (ennemi_vie > 0)
            {
                quit = 1;
            }

        }
        printf("votre ennemi est K.O.");
        exp += exp/(niveau/2);
        if (exp >= 12)
        {
            niveau= niveau+1;
            exp = 0;
            printf("niveau superieur !!!\nvous etes au niveau %d",niveau);
            vie_max += 4;
            vie += 4;
            attaque += 2;
        }
    return 0;
}

l'erreur :
C:\Documents a...||In function 'main'Neutral
C:\Documents a...|warning: format '%d' expects type 'int *', but argument 2 has type 'int'|
C:\Documents a...|61|error: expected declaration or statement at end of input|
||=== Build finished: 1 errors, 1 warnings ===|


comment corriger le problème?

j'ai utiliser des tutoriels sur le site du zér0...

_________________
.


Dernière édition par DeinDall le Dim 16 Jan 2011 - 12:15, édité 1 fois
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9142
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[résolu]erreur en C... Empty
MessageSujet: Re: [résolu]erreur en C...   [résolu]erreur en C... EmptyDim 16 Jan 2011 - 9:23

La seule erreur que je vois en regardant vite fait c'est qu'il te manque une accolade fermante avant le return 0; déjà.

_________________
[résolu]erreur en C... Runningpotato1[résolu]erreur en C... TvF6GED [résolu]erreur en C... MdetltS
Revenir en haut Aller en bas
DeinDall
Utilisateur confirmé: Rang ****
DeinDall

Messages : 858
Localisation : ~Quimper
Projet Actuel : Un jeu où tu joues.

[résolu]erreur en C... Empty
MessageSujet: Re: [résolu]erreur en C...   [résolu]erreur en C... EmptyDim 16 Jan 2011 - 9:34

merci, déjà un problème de moins... ( j'ai l'habitude de faire comme dans GM niveau accolades... )
mais après, il y a toujours un bug : quand je fais le choix ( attaque, défence ou fuite... ) le programme fini...
Edit :
[résolu]erreur en C... Consol10
un screen pour vous faire voir...

_________________
.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9142
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[résolu]erreur en C... Empty
MessageSujet: Re: [résolu]erreur en C...   [résolu]erreur en C... EmptyDim 16 Jan 2011 - 9:41

scanf("%d",&choix);

_________________
[résolu]erreur en C... Runningpotato1[résolu]erreur en C... TvF6GED [résolu]erreur en C... MdetltS
Revenir en haut Aller en bas
DeinDall
Utilisateur confirmé: Rang ****
DeinDall

Messages : 858
Localisation : ~Quimper
Projet Actuel : Un jeu où tu joues.

[résolu]erreur en C... Empty
MessageSujet: Re: [résolu]erreur en C...   [résolu]erreur en C... EmptyDim 16 Jan 2011 - 9:43

j'ai pas du suivre le cours attentivement... merci Onilink_, c'est toi le meilleur Wink

_________________
.
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_

Messages : 9142
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[résolu]erreur en C... Empty
MessageSujet: Re: [résolu]erreur en C...   [résolu]erreur en C... EmptyDim 16 Jan 2011 - 9:45

En tout cas content que tu te mette au C. Moi je suis plus C++ mais si t'as des questions tu peut me mp (enfin le week end).

_________________
[résolu]erreur en C... Runningpotato1[résolu]erreur en C... TvF6GED [résolu]erreur en C... MdetltS
Revenir en haut Aller en bas
DeinDall
Utilisateur confirmé: Rang ****
DeinDall

Messages : 858
Localisation : ~Quimper
Projet Actuel : Un jeu où tu joues.

[résolu]erreur en C... Empty
MessageSujet: Re: [résolu]erreur en C...   [résolu]erreur en C... EmptyDim 16 Jan 2011 - 12:12

youhou!!! j'ai terminé le "jeu"... bon, d'accord, il suffit de faire 1, enter, 1, enter, 1, enter... c'est sans fin...

code source pour ceux que ça intéresse :
Code:
#include <stdio.h>
#include <stdlib.h>

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

{
    int vie = 20, vie_max = 20, niveau = 1, exp = 0, attaque = 5, nb_ennemi = 0, ennemi_vie, ennemi_vie_max, ennemi_attaque, choix, quit, quitquit = 0;
    char nom[100];
    printf("Bien le bonjour...\n");
    printf("tout d'abord, comment t'appelle tu?");
    scanf("%s", nom);
    printf("Salut %s, je suis heureux de te rencontrer !", nom);
    while(quitquit == 0)
    {
        ennemi_vie = (vie/4)*2;
        ennemi_vie_max = (vie/4)*2;
        ennemi_attaque = (attaque/4)*2;
        choix = 0;
        quit = 0;
        nb_ennemi++;
        printf("\n\n\nennemi numero %d\n\n", nb_ennemi);
        while(1)
        {
            ennemi_attaque = (attaque/5)*4;
            printf("vie de %s : %d / %d\nvie de l'ennemi : %d / %d \n\n que voulez vous faire :\n\n1. attaque\n2. defence\n\nalors 1 ou 2?",nom ,vie ,vie_max ,ennemi_vie, ennemi_vie_max);
            scanf("%d",&choix);
            if (choix == 1)
            {
                printf("\n\ncharge!\n");
                ennemi_vie -= attaque;
                printf("l'ennemi perd %d points de vie\n\n", attaque);
            }
            if (choix == 2)
            {
                ennemi_attaque = 1;
                printf("\n\nvous vous defendez\n\n");
            }
            printf("l'ennemi attaque\n");
            vie -= ennemi_attaque;
            printf("vous perdez %d points de vie\n\n",ennemi_attaque);
            if (ennemi_vie <= 0)
            {
                break;
            }
            if (vie <= 0)
            {
                quitquit = 1;
                break;

            }
        }
        printf("votre ennemi est K.O.\n\n");
        exp += 12/(niveau);
        if (exp >= 12)
        {
            niveau++;
            exp -= 12;
            printf("niveau superieur !!!\nvous etes au niveau %d\n\n",niveau);
            vie_max += 4;
            attaque += 2;
        }
        if (quitquit == 1)
        {
            break;
        }
        vie = vie_max;
        ennemi_vie_max = (vie/4)*2;
        ennemi_vie = (vie/4)*2;
        ennemi_attaque = (attaque/4)*2;
    }
    return 0;
}

Et oui, je me met au C, il faut bien que je commence vraiment a programmer un jour ou un autre...

_________________
.
Revenir en haut Aller en bas
Contenu sponsorisé




[résolu]erreur en C... Empty
MessageSujet: Re: [résolu]erreur en C...   [résolu]erreur en C... Empty

Revenir en haut Aller en bas
 
[résolu]erreur en C...
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Développement :: Programmation-
Sauter vers: