Langage c - "main" is usually a function
guindilla
-
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
fiddy Messages postés 11069 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour.
J'ai fait un jeu de role, et dans mon testGeneral je fais appelle a toutes mes fonctions. Il n'y a donc qu'un main dedans.
Et ils me mettent plusieurs trucs et je ne comprends pas le probleme.
Voici mon testGeneral.c:
#include "structures.h"
#include "lanceDe.h"
#include "plateau.h"
#include "cases_monstre.h"
#include "cases_question.h"
#include "cases_question.h"
int main( int argc, char **argv )
{
Personnage *joueur;
int *tab;
int nbJoueurs;
int vieBoss = 1000;
long curseur = 0;
int avancerDe;
char persoADeplacer = 'a';
int numJoueur = 0;
srand (time (NULL));
joueur = initialisationPersos(&nbJoueurs, joueur);
tab = initialisationPlateau();
while ( vieBoss >0)
{
for (numJoueur=0; numJoueur<nbJoueurs; numJoueur++)
{
avancerDe = lanceDe(1, 6);
printf("\n\n\n\nC'est au tour du joueur %d.\n", numJoueur);
printf("Votre magicien a %d de vie et est sur la case %d.\n", joueur[numJoueur].magicien->vie, joueur[numJoueur].magicien->position);
printf("Votre troll a %d de vie et est sur la case %d.\n\n", joueur[numJoueur].troll->vie, joueur[numJoueur].troll->position);
printf("Vous pouvez deplacer un personnage de %d cases.\n", avancerDe);
while (persoADeplacer != 'M' && persoADeplacer != 'T')
{
printf("Quel personnage voulez-vous deplacer ? (M pour magicien ou T pour troll)", avancerDe);
fflush(stdin);
scanf("%c", &persoADeplacer);
}
if (persoADeplacer == 'M')
{
persoADeplacer = 'a';
if ((joueur[numJoueur].magicien->position + avancerDe) > 20)
{
joueur[numJoueur].magicien->position = 21;
// et faire le truc kan on est sur le boss
}
else
{
joueur[numJoueur].magicien->position = joueur[numJoueur].magicien->position + avancerDe;
}
if (tab[joueur[numJoueur].magicien->position] == CASE_QUESTION)
cases_question_magicien(&curseur, &joueur, numJoueur);
if (tab[joueur[numJoueur].magicien->position] == CASE_SANCTUAIRE)
printf("Aucune action sur cette case");
if (tab[joueur[numJoueur].magicien->position] == CASE_MONSTRE)
case_monstre_magicien(&joueur, numJoueur, &tab);
if (tab[joueur[numJoueur].magicien->position] == CASE_PAUSE)
case_pause_magicien(joueur, nbJoueurs, numJoueur);
}
if (persoADeplacer == 'T')
{
persoADeplacer = 'a';
if ((joueur[numJoueur].troll->position + avancerDe) > 20)
{
joueur[numJoueur].troll->position = 21;
// et faire le truc kan on est sur le boss
}
else
{
joueur[numJoueur].troll->position = joueur[numJoueur].troll->position + avancerDe;
}
if (tab[joueur[numJoueur].troll->position] == CASE_QUESTION)
cases_question_troll(&curseur, &joueur, numJoueur);
if (tab[joueur[numJoueur].troll->position] == CASE_SANCTUAIRE)
printf("Aucune action sur cette case");
if (tab[joueur[numJoueur].troll->position] == CASE_MONSTRE)
case_monstre_troll(&joueur, numJoueur, &tab);
if (tab[joueur[numJoueur].troll->position] == CASE_PAUSE)
case_pause_troll(joueur, nbJoueurs, numJoueur); // provisoire : apres il faudra faire combat contre les perso presents
if (vieBoss < 0)
{
printf("Le jeu est fini.\n");
return 0;
}
}
}
}
system("pause");
return 0;
}
et voici ce qu'on m'ecrit quand je lance le makefile :
gcc -pedantic -ansi -g -Wall -Wextra -I../include testGeneral.c -c
testGeneral.c: Dans la fonction «case_monstre_troll» :
testGeneral.c:9: attention : «main» is usually a function
testGeneral.c:9: erreur: syntax error before «{» token
testGeneral.c:13: erreur: parameter «vieBoss» is initialised
testGeneral.c:14: erreur: parameter «curseur» is initialised
testGeneral.c:16: erreur: parameter «persoADeplacer» is initialised
testGeneral.c:17: erreur: parameter «numJoueur» is initialised
testGeneral.c:19: erreur: syntax error before «srand»
make: *** [testGeneral.o] Erreur 1
ah... et au cas ça vous serve... Voici mon makefile :
#
# makefile
#
.PHONY : all clean
CPPFLAGS = -Wall -Wextra -I../include
CCFLAGS = -pedantic -ansi -g
CC=gcc
all : main
structures.o : structures.c ../include/structures.h
$(CC) $(CCFLAGS) $(CPPFLAGS) structures.c -c
testStructures.o : testStructures.c ../include/structures.h
$(CC) $(CCFLAGS) $(CPPFLAGS) testStructures.c -c
testStructures : testStructures.o structures.o
$(CC) $(CCFLAGS) $(CPPFLAGS) structures.o testStructures.o -o testStructures
plateau.o : plateau.c ../include/plateau.h
$(CC) $(CCFLAGS) $(CPPFLAGS) plateau.c -c
testPlateau.o : testPlateau.c ../include/plateau.h
$(CC) $(CCFLAGS) $(CPPFLAGS) testPlateau.c -c
testPlateau : testPlateau.o plateau.o
$(CC) $(CCFLAGS) $(CPPFLAGS) testPlateau.o plateau.o -o testPlateau
lanceDe.o : lanceDe.c ../include/lanceDe.h
$(CC) $(CCFLAGS) $(CPPFLAGS) lanceDe.c -c
testLanceDe.o : testLanceDe.c ../include/lanceDe.h
$(CC) $(CCFLAGS) $(CPPFLAGS) testLanceDe.c -c
testLanceDe : testLanceDe.o lanceDe.o
$(CC) $(CCFLAGS) $(CPPFLAGS) testLanceDe.o lanceDe.o -o testLanceDe
cases_question.o : cases_question.c ../include/cases_question.h
$(CC) $(CCFLAGS) $(CPPFLAGS) cases_question.c -c
cases_monstre.o : cases_monstre.c ../include/cases_monstre.h
$(CC) $(CCFLAGS) $(CPPFLAGS) cases_monstre.c -c
cases_pause.o : cases_pause.c ../include/cases_pause.h
$(CC) $(CCFLAGS) $(CPPFLAGS) cases_pause.c -c
testCases.o : testCases.c ../include/cases_monstre.h ../include/cases_question.h
$(CC) $(CCFLAGS) $(CPPFLAGS) testCases.c -c
testCases : testCases.o cases_monstre.o cases_question.o
$(CC) $(CCFLAGS) $(CPPFLAGS) testCases.o cases_monstre.o cases_question.o -o testCases
testGeneral.o : testGeneral.c
$(CC) $(CCFLAGS) $(CPPFLAGS) testGeneral.c -c
testGeneral : testGeneral.o structures.o lanceDe.o plateau.o cases_pause.o cases_monstre.o cases_question.o
$(CC) $(CCFLAGS) $(CPPFLAGS) testGeneral.o structures.o lanceDe.o plateau.o cases_pause.o cases_monstre.o cases_question.o -o testGeneral
clean :
rm *.o
Aidez-moi svpppp je ne m'en sors pas j'en peux plus !!! lol
Merci, Marie ;) :D
J'ai fait un jeu de role, et dans mon testGeneral je fais appelle a toutes mes fonctions. Il n'y a donc qu'un main dedans.
Et ils me mettent plusieurs trucs et je ne comprends pas le probleme.
Voici mon testGeneral.c:
#include "structures.h"
#include "lanceDe.h"
#include "plateau.h"
#include "cases_monstre.h"
#include "cases_question.h"
#include "cases_question.h"
int main( int argc, char **argv )
{
Personnage *joueur;
int *tab;
int nbJoueurs;
int vieBoss = 1000;
long curseur = 0;
int avancerDe;
char persoADeplacer = 'a';
int numJoueur = 0;
srand (time (NULL));
joueur = initialisationPersos(&nbJoueurs, joueur);
tab = initialisationPlateau();
while ( vieBoss >0)
{
for (numJoueur=0; numJoueur<nbJoueurs; numJoueur++)
{
avancerDe = lanceDe(1, 6);
printf("\n\n\n\nC'est au tour du joueur %d.\n", numJoueur);
printf("Votre magicien a %d de vie et est sur la case %d.\n", joueur[numJoueur].magicien->vie, joueur[numJoueur].magicien->position);
printf("Votre troll a %d de vie et est sur la case %d.\n\n", joueur[numJoueur].troll->vie, joueur[numJoueur].troll->position);
printf("Vous pouvez deplacer un personnage de %d cases.\n", avancerDe);
while (persoADeplacer != 'M' && persoADeplacer != 'T')
{
printf("Quel personnage voulez-vous deplacer ? (M pour magicien ou T pour troll)", avancerDe);
fflush(stdin);
scanf("%c", &persoADeplacer);
}
if (persoADeplacer == 'M')
{
persoADeplacer = 'a';
if ((joueur[numJoueur].magicien->position + avancerDe) > 20)
{
joueur[numJoueur].magicien->position = 21;
// et faire le truc kan on est sur le boss
}
else
{
joueur[numJoueur].magicien->position = joueur[numJoueur].magicien->position + avancerDe;
}
if (tab[joueur[numJoueur].magicien->position] == CASE_QUESTION)
cases_question_magicien(&curseur, &joueur, numJoueur);
if (tab[joueur[numJoueur].magicien->position] == CASE_SANCTUAIRE)
printf("Aucune action sur cette case");
if (tab[joueur[numJoueur].magicien->position] == CASE_MONSTRE)
case_monstre_magicien(&joueur, numJoueur, &tab);
if (tab[joueur[numJoueur].magicien->position] == CASE_PAUSE)
case_pause_magicien(joueur, nbJoueurs, numJoueur);
}
if (persoADeplacer == 'T')
{
persoADeplacer = 'a';
if ((joueur[numJoueur].troll->position + avancerDe) > 20)
{
joueur[numJoueur].troll->position = 21;
// et faire le truc kan on est sur le boss
}
else
{
joueur[numJoueur].troll->position = joueur[numJoueur].troll->position + avancerDe;
}
if (tab[joueur[numJoueur].troll->position] == CASE_QUESTION)
cases_question_troll(&curseur, &joueur, numJoueur);
if (tab[joueur[numJoueur].troll->position] == CASE_SANCTUAIRE)
printf("Aucune action sur cette case");
if (tab[joueur[numJoueur].troll->position] == CASE_MONSTRE)
case_monstre_troll(&joueur, numJoueur, &tab);
if (tab[joueur[numJoueur].troll->position] == CASE_PAUSE)
case_pause_troll(joueur, nbJoueurs, numJoueur); // provisoire : apres il faudra faire combat contre les perso presents
if (vieBoss < 0)
{
printf("Le jeu est fini.\n");
return 0;
}
}
}
}
system("pause");
return 0;
}
et voici ce qu'on m'ecrit quand je lance le makefile :
gcc -pedantic -ansi -g -Wall -Wextra -I../include testGeneral.c -c
testGeneral.c: Dans la fonction «case_monstre_troll» :
testGeneral.c:9: attention : «main» is usually a function
testGeneral.c:9: erreur: syntax error before «{» token
testGeneral.c:13: erreur: parameter «vieBoss» is initialised
testGeneral.c:14: erreur: parameter «curseur» is initialised
testGeneral.c:16: erreur: parameter «persoADeplacer» is initialised
testGeneral.c:17: erreur: parameter «numJoueur» is initialised
testGeneral.c:19: erreur: syntax error before «srand»
make: *** [testGeneral.o] Erreur 1
ah... et au cas ça vous serve... Voici mon makefile :
#
# makefile
#
.PHONY : all clean
CPPFLAGS = -Wall -Wextra -I../include
CCFLAGS = -pedantic -ansi -g
CC=gcc
all : main
structures.o : structures.c ../include/structures.h
$(CC) $(CCFLAGS) $(CPPFLAGS) structures.c -c
testStructures.o : testStructures.c ../include/structures.h
$(CC) $(CCFLAGS) $(CPPFLAGS) testStructures.c -c
testStructures : testStructures.o structures.o
$(CC) $(CCFLAGS) $(CPPFLAGS) structures.o testStructures.o -o testStructures
plateau.o : plateau.c ../include/plateau.h
$(CC) $(CCFLAGS) $(CPPFLAGS) plateau.c -c
testPlateau.o : testPlateau.c ../include/plateau.h
$(CC) $(CCFLAGS) $(CPPFLAGS) testPlateau.c -c
testPlateau : testPlateau.o plateau.o
$(CC) $(CCFLAGS) $(CPPFLAGS) testPlateau.o plateau.o -o testPlateau
lanceDe.o : lanceDe.c ../include/lanceDe.h
$(CC) $(CCFLAGS) $(CPPFLAGS) lanceDe.c -c
testLanceDe.o : testLanceDe.c ../include/lanceDe.h
$(CC) $(CCFLAGS) $(CPPFLAGS) testLanceDe.c -c
testLanceDe : testLanceDe.o lanceDe.o
$(CC) $(CCFLAGS) $(CPPFLAGS) testLanceDe.o lanceDe.o -o testLanceDe
cases_question.o : cases_question.c ../include/cases_question.h
$(CC) $(CCFLAGS) $(CPPFLAGS) cases_question.c -c
cases_monstre.o : cases_monstre.c ../include/cases_monstre.h
$(CC) $(CCFLAGS) $(CPPFLAGS) cases_monstre.c -c
cases_pause.o : cases_pause.c ../include/cases_pause.h
$(CC) $(CCFLAGS) $(CPPFLAGS) cases_pause.c -c
testCases.o : testCases.c ../include/cases_monstre.h ../include/cases_question.h
$(CC) $(CCFLAGS) $(CPPFLAGS) testCases.c -c
testCases : testCases.o cases_monstre.o cases_question.o
$(CC) $(CCFLAGS) $(CPPFLAGS) testCases.o cases_monstre.o cases_question.o -o testCases
testGeneral.o : testGeneral.c
$(CC) $(CCFLAGS) $(CPPFLAGS) testGeneral.c -c
testGeneral : testGeneral.o structures.o lanceDe.o plateau.o cases_pause.o cases_monstre.o cases_question.o
$(CC) $(CCFLAGS) $(CPPFLAGS) testGeneral.o structures.o lanceDe.o plateau.o cases_pause.o cases_monstre.o cases_question.o -o testGeneral
clean :
rm *.o
Aidez-moi svpppp je ne m'en sors pas j'en peux plus !!! lol
Merci, Marie ;) :D
A voir également:
- Langage c - "main" is usually a function
- What is my movie français - Télécharger - Divers TV & Vidéo
- Langage ascii - Guide
- Langage binaire - Guide
- Who is on my wifi - Télécharger - Outils Internet
- Where is it - Télécharger - Gestion de fichiers