Problème programmation en C
ListDigger
Messages postés
2
Statut
Membre
-
ListDigger Messages postés 2 Statut Membre -
ListDigger Messages postés 2 Statut Membre -
Bonjour, je crée un petit RPG sur l'univers de Mario mais j'ai un problème : quand un combat est fini, le programme s'arrête, et moi je voudrais que ça ramène au menu principal. J'ai cherché mais je n'ai pas trouvé, aidez-moi s'il vous plaît :(
Voici le code :
#include <stdio.h>
#include <stdlib.h>
int nombreDePieces = 0;
int niveau = 1;
int vieJoueur = 5;
int vieGoomba = 3;
int monde = 0;
int xp = 0;
int main()
{
printf("Bienvenue dans mario rpg !\n");
if (monde==0)
if(vieJoueur>0)
printf("Vous etes dans le monde Menu, \n0.Monde Menu\n1.Monde 1\n2.Monde Boutique\n");
scanf("%d", &monde);
if (monde==1)
{
int monde1 = 0;
printf("Vous vous trouvez dans le monde 1\n");
printf("0.Menu\n1.Les plaines\n");
scanf("%d", &monde1);
int Goomba = 0;
if (monde1==1)
printf("Vous etes dans les plaines.\n0.Menu\n1.Combattre Goomba");
scanf("%d", &Goomba);
int attaque = 0;
{
if (Goomba==1)
printf("Vous engagez le combat contre Goomba\n");
while (vieGoomba > 0)
{
printf("1.Coup de poing");
scanf("%d", &attaque);
if (attaque==1)
printf("Goomba perd 1Pv\n");
vieGoomba = vieGoomba - 1;
vieJoueur = vieJoueur - 1;
printf("Goomba utilise Coup de boule. Joueur perd 1 pv. Il vous reste %d pv\n", vieJoueur);
if (vieGoomba==0)
printf("Goomba est mort ! Vous ramassez 2 pieces et gagnez 1 XP.\n");
int nombreDePieces = nombreDePieces + 2;
int xp = xp + 1;
}
}
if (monde==2)
{
printf("Vous vous trouvez dans le monde Boutique\n");
}
}
return 0;
}
Voici le code :
#include <stdio.h>
#include <stdlib.h>
int nombreDePieces = 0;
int niveau = 1;
int vieJoueur = 5;
int vieGoomba = 3;
int monde = 0;
int xp = 0;
int main()
{
printf("Bienvenue dans mario rpg !\n");
if (monde==0)
if(vieJoueur>0)
printf("Vous etes dans le monde Menu, \n0.Monde Menu\n1.Monde 1\n2.Monde Boutique\n");
scanf("%d", &monde);
if (monde==1)
{
int monde1 = 0;
printf("Vous vous trouvez dans le monde 1\n");
printf("0.Menu\n1.Les plaines\n");
scanf("%d", &monde1);
int Goomba = 0;
if (monde1==1)
printf("Vous etes dans les plaines.\n0.Menu\n1.Combattre Goomba");
scanf("%d", &Goomba);
int attaque = 0;
{
if (Goomba==1)
printf("Vous engagez le combat contre Goomba\n");
while (vieGoomba > 0)
{
printf("1.Coup de poing");
scanf("%d", &attaque);
if (attaque==1)
printf("Goomba perd 1Pv\n");
vieGoomba = vieGoomba - 1;
vieJoueur = vieJoueur - 1;
printf("Goomba utilise Coup de boule. Joueur perd 1 pv. Il vous reste %d pv\n", vieJoueur);
if (vieGoomba==0)
printf("Goomba est mort ! Vous ramassez 2 pieces et gagnez 1 XP.\n");
int nombreDePieces = nombreDePieces + 2;
int xp = xp + 1;
}
}
if (monde==2)
{
printf("Vous vous trouvez dans le monde Boutique\n");
}
}
return 0;
}
A voir également:
- Problème programmation en C
- Application de programmation - Guide
- Mettre en veille un programme - Guide
- Programmation envoi sms - Guide
- Programmer en basic sous windows 10 - Télécharger - Édition & Programmation
- Un autre programme est en cours d'installation - Forum Windows 10
1 réponse
Bonjour,
Tu n'es pas très bien parti...
Dès que ton programme va se complexifier, il sera illisible...
Je te conseille de mieux le structurer.
Déjà, oublie les variables globales. N'utilise que des variables locales.
Ensuite, utilise des fonctions. Grosso modo, dans ton main(), tu appelles les différentes fonctions créées. Tu gagneras vraiment en lisibilité.
Ensuite, en C les classes n'existent pas, mais tu peux utiliser des structures. Tu crées une structure Personnage, etc. Ca sera plus efficace.
Attention aussi, à ne pas déclarer tes variables n'importe où. Ca se fait en début de bloc.
Sinon pour ne pas quitter le jeu, il te suffit de faire une boucle while.
Pour la prochaine fois, merci d'utiliser la balise "code c".
Par exemple : <"code c">/*ici je mets mon code*/<"/code"> (sans les guillemets. Ca sera beaucoup plus lisible pour nous.
Cdlt,
Tu n'es pas très bien parti...
Dès que ton programme va se complexifier, il sera illisible...
Je te conseille de mieux le structurer.
Déjà, oublie les variables globales. N'utilise que des variables locales.
Ensuite, utilise des fonctions. Grosso modo, dans ton main(), tu appelles les différentes fonctions créées. Tu gagneras vraiment en lisibilité.
Ensuite, en C les classes n'existent pas, mais tu peux utiliser des structures. Tu crées une structure Personnage, etc. Ca sera plus efficace.
Attention aussi, à ne pas déclarer tes variables n'importe où. Ca se fait en début de bloc.
Sinon pour ne pas quitter le jeu, il te suffit de faire une boucle while.
int main(void) {
/*déclaration des variables*/
int fin=0;
while (!fin) {
/*ton jeu*/
printf("Voulez-vous quitter ? 0 : Non, 1: Oui");
scanf("%d", &fin);
}
return 0;
}
Pour la prochaine fois, merci d'utiliser la balise "code c".
Par exemple : <"code c">/*ici je mets mon code*/<"/code"> (sans les guillemets. Ca sera beaucoup plus lisible pour nous.
Cdlt,
ListDigger
Messages postés
2
Statut
Membre
Merci beaucoup je vais essayer comme ça.