1 pièce(s) jointe(s)
Problème d'affichage dans des boucles whiles
Bonjour a tous,
Je suis en train de débuté un projet en c pour mes cours et je rencontre un problème.
Il s'agit d'un petit jeu 2D et je suis en train de gérer l'affichage du menu initial et de l'affichage d'une grille de jeu.
j'ai donc mis deux boucles, une qui me permet l'affichage du menu et l'autre qui affiche la grille et qui attends l'entrée d'une touche
par l'utilisateur. Le problème étant que la grille s'affiche deux fois lorsque je lance le programme et je n'arrive pas
à comprendre pourquoi. Je vous met un extrait du main (il y a tout une partie de génération de map qui ne concerne pas le prob) ainsi que de l'affichage du programme, merci d'avance pour votre aide.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
...
do {
int n = 1;
int choix;
Joueur j1;
system("cls");
printf("Menu Principal\n\n");
printf("1 - Demarrer\n2 - Demarrer le serveur\n3 - Rejoindre un serveur\n4 - Quitter\n");
printf("Votre choix : ");
scanf("%d", &choix);
int win2 = 0;
switch (choix) {
case 1:
//Appel de la fonction selection map avant de lancer le jeu
// Le jeu se lance
while(win2 == 0){
// if(joueur == 1){
// joueur = 2;
// }
// else{
// joueur = 1;
// }
if (map_choice == 0) {
rows = 7;
columns = 9;
// génération de la map
map = create_map1(nb_bombes, columns, rows);
//affichage de la map
affiche_map(map, columns, rows);
j1.rows = 3;
j1.columns = 1;
} else {
rows = 7;
columns = 15;
// génération de la map
map = create_map2(nb_bombes, columns, rows);
//affichage de la map
affiche_map(map, columns, rows);
}
char m;
printf("deplacez vous a l'aide des touches Z,S,Q,D ou poser une bombes \n");
scanf("%c", &m);
printf("%c\n", m);
if(m == 'z' || m == 's' || m == 'q' || m == 'd'){
deplacementJoueur(map, m, &j1);
}
else if(m == 'x'){
win2 = 1;
}
... |
Pièce jointe 628224