Jean_guy
Nouveau membre
Bonjour à tous, voilà je suis nouveau sur ce forum et je necessite votre aide.
Voilà je dois rendre un projet sur unjeu en langage C pour jeudi 21 au soir et j ai un gros probleme.
Voilà dans le cadre d'un jeu style heroic fantasy tour par tour.
2 joueurs saisissent leurs equipes, une race,5personnages, et des métiers affiliant des capacités
J'ai codé la saisie de donnée mais avec des problemes.
J ai annoncé une structure type pour mes peronnages:
typedef struct personnage
{
char nom_perso[20];
char metier[20];
int pvm;
int pa;
}personnage;
Ensuite le module de saisie des données
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "struct_personnage.c"
int main(int argc, char *argv[])
{
/* On va d'abord rentrer le nom de l'équipe 1 et l'inclure dans notre structure.*/
fflush(stdin);
char nom_equipeA[40]; /*On vide la memoire d'adressage*/
printf("\nQuel est le nom de votre equipe?\n");
fgets(nom_equipeA,20,stdin);
printf("\nLe nom que vous avez donne a votre equipe est %s\n",nom_equipeA);
printf("--------------------------------------------------------------------------------\n");
/* On va ensuite demander la race que prendront les differents personnages de l'equipe*/
/*On défini les 3 races que sont humain, elfe et nain.
Le Joueur choisit la race à appliquer à l'équipe.
On inclue désormais la race dans la structure*/
int raceA;
printf("\nQuelle race voulez vous choisir pour vos personnages?\n");
printf(" Pour controler les Humains tapez:1\n");
printf(" Pour controler les Elfes tapez:2\n");
printf(" Pour controler les Nains tapez:3\n");
scanf("%d",&raceA);
while (raceA>3 || raceA<1) /*Si l'utilisateur fait une erreur alors on affiche un message d'erreur et on redemande la saisie*/
{
printf("\nVous n'avez pas selectionne une race appartenant a la liste disponible.\n");
printf("Veuillez reiterer votre choix.\n\n");
printf("--------------------------------------------------------------------------------\n");
printf("\nQuelle race voulez vous choisir pour vos personnages?\n");
printf(" Pour controler les Humains tapez:1\n");
printf(" Pour controler les Elfes tapez:2\n");
printf(" Pour controler les Nains tapez:3\n");
scanf("%d",&raceA);
}
switch(raceA)
{
case 1:
printf("\nVous avez donc choisi de controler les Humains.\n");
printf("\nVos caracteristiques de bases sont:\n");
printf(" Vos personnages auront 10 points de vie.\n");
printf(" Vos personnages auront 3 points d'attaque.\n");
printf("\n--------------------------------------------------------------------------------\n");
creation_persos_humain();
break;
case 2:
printf("\nVous avez donc choisi de controler les Elfes.\n");
printf("\nVos caracteristiques de bases sont:\n");
printf(" Vos personnages auront 8 points de vie.\n");
printf(" Vos personnages auront 4 points d'attaque.\n");
printf("--------------------------------------------------------------------------------\n");
creation_persos_elfe();
break;
case 3:
printf("\nVous avez donc choisi de controler les Nains.\n");
printf("\nVos caracteristiques de bases sont:\n");
printf(" Vos personnages auront 12 points de vie.\n");
printf(" Vos personnages auront 2 points d'attaque.\n");
printf("--------------------------------------------------------------------------------\n");
creation_persos_nain();
break;
}
system("PAUSE");
return 0;
}
la le joueur 1 saisie ses données sur son equipe et la race choisie
ensuite il fera appel au module perso humain nain ou elfe
module humain
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "struct_personnage.c"
void creation_persos_humain()
{
//personnage persos[5];
int i;
for (i=1;i<6;i++)
{
personnage persoAi;
fflush(stdin);
printf("\nQuel est le nom du personnage %d?\n",i);
fgets(persoAi.nom_perso,20,stdin);
printf("\nLe nom que vous avez donne a votre presonnage %d est %s\n",i,persoAi.nom_perso);
int metierAi;
printf("Quel est le metier du personnage %d?\n",i);
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Mage tapez:2\n");
printf(" Pour Pretre tapez:3\n");
scanf("%d",&metierAi);
while (metierAi>3 || metierAi<1) /*Si l'utilisateur fait une erreur alors on affiche un message d'erreur et on redemande la saisie*/
{
printf("\nVous n'avez pas selectionne un metier appartenant a la liste disponible.\n");
printf("Veuillez reiterer votre choix.\n\n");
printf("--------------------------------------------------------------------------------\n");
printf("Quel est le metier du personnage %d?\n",i);
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Mage tapez:2\n");
printf(" Pour Pretre tapez:3\n");
scanf("%d",&metierAi);
}
switch(metierAi)
{
case 1:
persoAi.pvm=10;
persoAi.pa=5;
printf("Votre personnage %d s'appelle %s",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
break;
case 2:
persoAi.pvm=10;
persoAi.pa=3;
printf("Votre personnage %d s'appelle %s",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
printf(" Vous pouvez desormais utiliser tout les 2 tours la capacite de diviser les pv d'un adversaire par 2.\n");
break;
case 3:
persoAi.pvm=10;
persoAi.pa=3;
printf("Votre personnage %d s'appelle %s",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
printf("Vous pouvez desormais utiliser tout les 2 tours la capacite de soigner tous les pv d'un coequipier.\n");
break;
}
//persos=persoAi;
printf("\n--------------------------------------------------------------------------------\n");
}
}
module nain
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "struct_personnage.c"
void creation_persos_nain()
{
int i;
for (i=1;i<6;i++)
{
personnage persoAi;
fflush(stdin);
printf("\nQuel est le nom du personnage %d?\n",i);
fgets(persoAi.nom_perso,20,stdin);
printf("\nLe nom que vous avez donne au personnage %d est %s\n",i,persoAi.nom_perso);
int metierAi;
printf("Quel est le metier de votre premier personnage?\n");
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Pretre tapez:2\n");
scanf("%d",&metierAi);
while (metierAi>2 || metierAi<1) /*Si l'utilisateur fait une erreur alors on affiche un message d'erreur et on redemande la saisie*/
{
printf("\nVous n'avez pas selectionne un metier appartenant a la liste disponible.\n");
printf("Veuillez reiterer votre choix.\n\n");
printf("--------------------------------------------------------------------------------\n");
printf("Quel est le metier du personnage %d?\n",i);
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Pretre tapez:2\n");
scanf("%d",&metierAi);
}
switch(metierAi)
{
case 1:
persoAi.pvm=12;
persoAi.pa=4;
printf("Votre personnage %d s'appelle %s\n",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
break;
case 2:
persoAi.pvm=12;
persoAi.pa=2;
printf("Votre personnage %d s'appelle %s",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
printf("Vous pouvez desormais utiliser tout les 2 tours la capacite de soigner tous les pv d'un coequipier.\n");
break;
}
printf("\n--------------------------------------------------------------------------------\n");
}
}
module elfe
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "struct_personnage.c"
void creation_persos_elfe()
{
int i;
for (i=1;i<6;i++)
{
personnage persoAi;
fflush(stdin);
printf("\nQuel est le nom du personnage %d?\n",i);
fgets(persoAi.nom_perso,20,stdin);
printf("\nLe nom que vous avez donne au presonnage %d est %s\n",i,persoAi.nom_perso);
int metierAi;
printf("Quel est le metier du personnage %d?\n",i);
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Mage tapez:2\n");
scanf("%d",&metierAi);
while (metierAi>2 || metierAi<1) /*Si l'utilisateur fait une erreur alors on affiche un message d'erreur et on redemande la saisie*/
{
printf("\nVous n'avez pas selectionne un metier appartenant a la liste disponible.\n");
printf("Veuillez reiterer votre choix.\n\n");
printf("--------------------------------------------------------------------------------\n");
printf("Quel est le metier du personnage %d?\n",i);
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Mage tapez:2\n");
scanf("%d",&metierAi);
}
switch(metierAi)
{
case 1:
persoAi.pvm=8;
persoAi.pa=6;
printf("Votre personnage %d s'appelle %s\n",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
break;
case 2:
persoAi.pvm=8;
persoAi.pa=4;
printf("Votre personnage %d s'appelle %s\n",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
printf(" Vous pouvez desormais utiliser tout les 2 tours la capacite de diviser les pv d'un adversaire par 2.\n");
break;
}
printf("\n--------------------------------------------------------------------------------\n");
}
}
Voila le probleme et que j aurais besoin d'utiliser des pointeurs pour tout ce qui est nom des persos, nom de l equipe, métier, pvm et pa
pour les incorporer dans ma cellule combat.
Qui permettra de décrementer les points de vie etc...
De plus je voudrais mettre mes différents persos dans un tableau de structure de type:
nom Equipe 1
perso 1 perso 2 perso 3 ...... perso 5
nom Equipe 2
perso 1 perso 2 perso 3 ...... perso 5
et ensuite l afficher
a la fin comme récapitulatif
avant le début du combat.
J'espere que vous pourrez éclairer ma lenterne, me sortir du probleme parce qu'il est énorme projet de C évalué et a rendre avant le 21/12
Encore merci et si je peux aider sur un autre sujet je le ferais volontier.
Voilà je dois rendre un projet sur unjeu en langage C pour jeudi 21 au soir et j ai un gros probleme.
Voilà dans le cadre d'un jeu style heroic fantasy tour par tour.
2 joueurs saisissent leurs equipes, une race,5personnages, et des métiers affiliant des capacités
J'ai codé la saisie de donnée mais avec des problemes.
J ai annoncé une structure type pour mes peronnages:
typedef struct personnage
{
char nom_perso[20];
char metier[20];
int pvm;
int pa;
}personnage;
Ensuite le module de saisie des données
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "struct_personnage.c"
int main(int argc, char *argv[])
{
/* On va d'abord rentrer le nom de l'équipe 1 et l'inclure dans notre structure.*/
fflush(stdin);
char nom_equipeA[40]; /*On vide la memoire d'adressage*/
printf("\nQuel est le nom de votre equipe?\n");
fgets(nom_equipeA,20,stdin);
printf("\nLe nom que vous avez donne a votre equipe est %s\n",nom_equipeA);
printf("--------------------------------------------------------------------------------\n");
/* On va ensuite demander la race que prendront les differents personnages de l'equipe*/
/*On défini les 3 races que sont humain, elfe et nain.
Le Joueur choisit la race à appliquer à l'équipe.
On inclue désormais la race dans la structure*/
int raceA;
printf("\nQuelle race voulez vous choisir pour vos personnages?\n");
printf(" Pour controler les Humains tapez:1\n");
printf(" Pour controler les Elfes tapez:2\n");
printf(" Pour controler les Nains tapez:3\n");
scanf("%d",&raceA);
while (raceA>3 || raceA<1) /*Si l'utilisateur fait une erreur alors on affiche un message d'erreur et on redemande la saisie*/
{
printf("\nVous n'avez pas selectionne une race appartenant a la liste disponible.\n");
printf("Veuillez reiterer votre choix.\n\n");
printf("--------------------------------------------------------------------------------\n");
printf("\nQuelle race voulez vous choisir pour vos personnages?\n");
printf(" Pour controler les Humains tapez:1\n");
printf(" Pour controler les Elfes tapez:2\n");
printf(" Pour controler les Nains tapez:3\n");
scanf("%d",&raceA);
}
switch(raceA)
{
case 1:
printf("\nVous avez donc choisi de controler les Humains.\n");
printf("\nVos caracteristiques de bases sont:\n");
printf(" Vos personnages auront 10 points de vie.\n");
printf(" Vos personnages auront 3 points d'attaque.\n");
printf("\n--------------------------------------------------------------------------------\n");
creation_persos_humain();
break;
case 2:
printf("\nVous avez donc choisi de controler les Elfes.\n");
printf("\nVos caracteristiques de bases sont:\n");
printf(" Vos personnages auront 8 points de vie.\n");
printf(" Vos personnages auront 4 points d'attaque.\n");
printf("--------------------------------------------------------------------------------\n");
creation_persos_elfe();
break;
case 3:
printf("\nVous avez donc choisi de controler les Nains.\n");
printf("\nVos caracteristiques de bases sont:\n");
printf(" Vos personnages auront 12 points de vie.\n");
printf(" Vos personnages auront 2 points d'attaque.\n");
printf("--------------------------------------------------------------------------------\n");
creation_persos_nain();
break;
}
system("PAUSE");
return 0;
}
la le joueur 1 saisie ses données sur son equipe et la race choisie
ensuite il fera appel au module perso humain nain ou elfe
module humain
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "struct_personnage.c"
void creation_persos_humain()
{
//personnage persos[5];
int i;
for (i=1;i<6;i++)
{
personnage persoAi;
fflush(stdin);
printf("\nQuel est le nom du personnage %d?\n",i);
fgets(persoAi.nom_perso,20,stdin);
printf("\nLe nom que vous avez donne a votre presonnage %d est %s\n",i,persoAi.nom_perso);
int metierAi;
printf("Quel est le metier du personnage %d?\n",i);
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Mage tapez:2\n");
printf(" Pour Pretre tapez:3\n");
scanf("%d",&metierAi);
while (metierAi>3 || metierAi<1) /*Si l'utilisateur fait une erreur alors on affiche un message d'erreur et on redemande la saisie*/
{
printf("\nVous n'avez pas selectionne un metier appartenant a la liste disponible.\n");
printf("Veuillez reiterer votre choix.\n\n");
printf("--------------------------------------------------------------------------------\n");
printf("Quel est le metier du personnage %d?\n",i);
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Mage tapez:2\n");
printf(" Pour Pretre tapez:3\n");
scanf("%d",&metierAi);
}
switch(metierAi)
{
case 1:
persoAi.pvm=10;
persoAi.pa=5;
printf("Votre personnage %d s'appelle %s",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
break;
case 2:
persoAi.pvm=10;
persoAi.pa=3;
printf("Votre personnage %d s'appelle %s",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
printf(" Vous pouvez desormais utiliser tout les 2 tours la capacite de diviser les pv d'un adversaire par 2.\n");
break;
case 3:
persoAi.pvm=10;
persoAi.pa=3;
printf("Votre personnage %d s'appelle %s",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
printf("Vous pouvez desormais utiliser tout les 2 tours la capacite de soigner tous les pv d'un coequipier.\n");
break;
}
//persos=persoAi;
printf("\n--------------------------------------------------------------------------------\n");
}
}
module nain
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "struct_personnage.c"
void creation_persos_nain()
{
int i;
for (i=1;i<6;i++)
{
personnage persoAi;
fflush(stdin);
printf("\nQuel est le nom du personnage %d?\n",i);
fgets(persoAi.nom_perso,20,stdin);
printf("\nLe nom que vous avez donne au personnage %d est %s\n",i,persoAi.nom_perso);
int metierAi;
printf("Quel est le metier de votre premier personnage?\n");
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Pretre tapez:2\n");
scanf("%d",&metierAi);
while (metierAi>2 || metierAi<1) /*Si l'utilisateur fait une erreur alors on affiche un message d'erreur et on redemande la saisie*/
{
printf("\nVous n'avez pas selectionne un metier appartenant a la liste disponible.\n");
printf("Veuillez reiterer votre choix.\n\n");
printf("--------------------------------------------------------------------------------\n");
printf("Quel est le metier du personnage %d?\n",i);
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Pretre tapez:2\n");
scanf("%d",&metierAi);
}
switch(metierAi)
{
case 1:
persoAi.pvm=12;
persoAi.pa=4;
printf("Votre personnage %d s'appelle %s\n",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
break;
case 2:
persoAi.pvm=12;
persoAi.pa=2;
printf("Votre personnage %d s'appelle %s",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
printf("Vous pouvez desormais utiliser tout les 2 tours la capacite de soigner tous les pv d'un coequipier.\n");
break;
}
printf("\n--------------------------------------------------------------------------------\n");
}
}
module elfe
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "struct_personnage.c"
void creation_persos_elfe()
{
int i;
for (i=1;i<6;i++)
{
personnage persoAi;
fflush(stdin);
printf("\nQuel est le nom du personnage %d?\n",i);
fgets(persoAi.nom_perso,20,stdin);
printf("\nLe nom que vous avez donne au presonnage %d est %s\n",i,persoAi.nom_perso);
int metierAi;
printf("Quel est le metier du personnage %d?\n",i);
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Mage tapez:2\n");
scanf("%d",&metierAi);
while (metierAi>2 || metierAi<1) /*Si l'utilisateur fait une erreur alors on affiche un message d'erreur et on redemande la saisie*/
{
printf("\nVous n'avez pas selectionne un metier appartenant a la liste disponible.\n");
printf("Veuillez reiterer votre choix.\n\n");
printf("--------------------------------------------------------------------------------\n");
printf("Quel est le metier du personnage %d?\n",i);
printf(" Pour Guerrier tapez:1\n");
printf(" Pour Mage tapez:2\n");
scanf("%d",&metierAi);
}
switch(metierAi)
{
case 1:
persoAi.pvm=8;
persoAi.pa=6;
printf("Votre personnage %d s'appelle %s\n",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
break;
case 2:
persoAi.pvm=8;
persoAi.pa=4;
printf("Votre personnage %d s'appelle %s\n",i,persoAi.nom_perso);
printf(" Il possede %d pv et %d pa\n",persoAi.pvm,persoAi.pa);
printf(" Vous pouvez desormais utiliser tout les 2 tours la capacite de diviser les pv d'un adversaire par 2.\n");
break;
}
printf("\n--------------------------------------------------------------------------------\n");
}
}
Voila le probleme et que j aurais besoin d'utiliser des pointeurs pour tout ce qui est nom des persos, nom de l equipe, métier, pvm et pa
pour les incorporer dans ma cellule combat.
Qui permettra de décrementer les points de vie etc...
De plus je voudrais mettre mes différents persos dans un tableau de structure de type:
nom Equipe 1
perso 1 perso 2 perso 3 ...... perso 5
nom Equipe 2
perso 1 perso 2 perso 3 ...... perso 5
et ensuite l afficher
a la fin comme récapitulatif
avant le début du combat.
J'espere que vous pourrez éclairer ma lenterne, me sortir du probleme parce qu'il est énorme projet de C évalué et a rendre avant le 21/12
Encore merci et si je peux aider sur un autre sujet je le ferais volontier.