Problème de variable
Résolu
Flight_Of_Ikarus
Messages postés
3
Date d'inscription
Statut
Membre
Dernière intervention
-
Franck7511 Messages postés 14296 Date d'inscription Statut Membre Dernière intervention -
Franck7511 Messages postés 14296 Date d'inscription Statut Membre Dernière intervention -
Bien le bonjour a tous ce qui passeront par là.
Je suis un jeune débutant en C, et je souhaiterai créer un morpion. Hélas j'ai un gros probléme.
Mais avant de vous expliquer mon problème, je vais juste vous expliquer mon programme.
Mon programme contient pour l'instant que la partie pour que le joueur un ( ou croix 'X' ) puisse choisir une case a joué. Pour cela il choisi sa case à l'aide du clavier numerique ( 7 pour en haut a gauche, 8 pour en haut au millieu ... ).
Le programme va utilisé deux variables par case, une pour l'état de la case ( 'R' pour vide, 'X' pour croix (évidement), 'O' pour rond) ; et aussi une variable ( avec le prefixe 'bis' ) pour savoir si la case a deja été visité ( 0 pour libre, et 1 pour occuper ).
C'est variables sont nommé inteligament,
hg pour haut gauche
hm pour haut millieu
hd pour haut drois
mg pour millieu gauche
....
Le problème etant que quand je choisi par exemple la case 7 ( ou n'impote quelle autre ) le programme me sort une grille rempli de croix, alors qu'il devrait y avoir seulement la case 7 avec une croix.
Voici le fameux programme :
Si quelqu'un sait d'ou vient le programme je veut bien un peu d'aide.
Merci d'avance pour d'éventuelle réponse.
(désolé pour la longueur du poste et pour d'éventuel faute d'hortographe)
Je suis un jeune débutant en C, et je souhaiterai créer un morpion. Hélas j'ai un gros probléme.
Mais avant de vous expliquer mon problème, je vais juste vous expliquer mon programme.
Mon programme contient pour l'instant que la partie pour que le joueur un ( ou croix 'X' ) puisse choisir une case a joué. Pour cela il choisi sa case à l'aide du clavier numerique ( 7 pour en haut a gauche, 8 pour en haut au millieu ... ).
Le programme va utilisé deux variables par case, une pour l'état de la case ( 'R' pour vide, 'X' pour croix (évidement), 'O' pour rond) ; et aussi une variable ( avec le prefixe 'bis' ) pour savoir si la case a deja été visité ( 0 pour libre, et 1 pour occuper ).
C'est variables sont nommé inteligament,
hg pour haut gauche
hm pour haut millieu
hd pour haut drois
mg pour millieu gauche
....
Le problème etant que quand je choisi par exemple la case 7 ( ou n'impote quelle autre ) le programme me sort une grille rempli de croix, alors qu'il devrait y avoir seulement la case 7 avec une croix.
Voici le fameux programme :
#include <stdio.h> #include <stdlib.h> char hg = 'R'; char hm = 'R'; char hd = 'R'; /* déclaration des variables du haut */ char mg = 'R'; char mm = 'R'; char md = 'R'; /* déclaration des variables du millieu */ char bg = 'R'; char bm = 'R'; char bd = 'R'; /* déclaration des variables du bas */ int hgbis = 0; int hmbis = 0; int hdbis = 0; /* déclaration de l'etat des variables du haut */ int mgbis = 0; int mmbis = 0; int mdbis = 0; /* déclaration de l'etat des variables du haut */ int bgbis = 0; int bmbis = 0; int bdbis = 0; /* déclaration de l'etat des variables du haut */ int u; int t; int main () { printf("tour du joueur numéro un :\n"); printf("utiliser le paver numerique pour choisir la case voulu\n"); scanf("%d", &u); if(u == 7 && hgbis == 0 ); /* haut gauche */ { hg = 'X'; hgbis = 1; } if(u == 8 && hmbis == 0 ); /* haut millieu */ { hm = 'X' ; hmbis = 1; } if(u == 9 && hdbis == 0 ); /* haut droit */ { hd = 'X' ; hdbis = 1; } if(u == 4 && mgbis == 0 ); /* millieu gauche */ { mg = 'X' ; mgbis = 1; } if(u == 5 && mmbis == 0 ); /* millieu millieu */ { mm = 'X' ; mmbis = 1; } if(u == 6 && mgbis == 0 ); /* millieu droit */ { md = 'X' ; mdbis = 1; } if(u == 1 && bgbis == 0 ); /* bas gauche */ { bg = 'X' ; bgbis = 1; } if(u == 2 && bmbis == 0 ); /* bas millieu */ { bm = 'X' ; bmbis = 1; } if(u == 3 && bdbis == 0 ); /* bas droit */ { bd = 'X' ; bdbis = 1; } printf("\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n"); printf("%c|" ,hg); printf("%c|" ,hm); printf("%c \n" ,hd); printf("%c|" ,mg); printf("%c|" ,mm); printf("%c \n" ,md); printf("%c|" ,bg); printf("%c|" ,bm); printf("%c \n" ,bd); }
Si quelqu'un sait d'ou vient le programme je veut bien un peu d'aide.
Merci d'avance pour d'éventuelle réponse.
(désolé pour la longueur du poste et pour d'éventuel faute d'hortographe)
A voir également:
- Problème de variable
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp - Forum Microsoft Office
- Variable objet ou variable de bloc with non définie - Forum VB / VBA
- Vba range avec variable ✓ - Forum VB / VBA
- Vérifiez la variable d'environnement TEMP. QUE FAIRE ????? ✓ - Forum Microsoft Office
- Range avec une Variable ✓ - Forum VB / VBA
Merci bien de m'avoir aidez.
(encore une question, mon programme est-il bien structurer ? )