maxbagou | Bonjour, je poste ce message car j'ai un jeu a créer en langage C, une bataille navale.
Le problème c'est que je suis complètement bloqué étant donné le peu de cours et d'explications qui nous a été apportés sur ce sujet. J'ai créé deux matrices, l'une secrète avec les positions de mes bateaux et l'autre s'affichant au joueur. J'ai ensuite réussit à faire en sorte que le joueur rentre les coordonnées souhaitées sans dépasser le nombre de colonnes et de lignes (10X10)
J'aimerais que lorsque le joueur rentre une coordonnée que celle ci affiche sur la matrice un "-" si la torpille touche la mer ou un "#" si la torpille touche un bateau. Et dans la grille du joueur :
La valeur 0 qui représentera la mer!
La valeur -1 qui représentera une torpille tirée dans l'eau!
La valeur 1 qui représentera une torpille ayant touché un bateau!
Je ne sais pas comment afficher une matrice vide devant le joueur pour ensuite la remplir en temps réel, car la mienne est remplis de "0" qui représente la mer. Voici mon programmes :
Code :
- #include <stdio.h>
- #include <stdlib.h>
- #include <stdbool.h>
- #include <time.h>
- int main()
- {
- int matsecret [10][10] = {{6, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {6, 0, 0, 0, 0, 0, 0, 0, 1, 1},
- {6, 0, 9, 9, 9, 9, 9, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 4, 0, 0, 0, 8, 0},
- {5, 5, 5, 0, 4, 0, 0, 0, 8, 0},
- {0, 0, 0, 0, 4, 0, 0, 0, 8, 0},
- {0, 0, 0, 0, 0, 2, 2, 0, 8, 0},
- {0, 0, 0, 0, 0, 0, 0, 3, 0, 0},
- {0, 7, 7, 7, 7, 0, 0, 3, 0, 0}};
- int mataffiche [10][10] = {{ , , , , , , , , , },
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0},
- {0, 0, 0, 0, 0, 0, 0, 0, 0, 0}};
- int l, c;
- printf ("\n\n 0 1 2 3 4 5 6 7 8 9 \n\n" );
- for (l = 0; l < 10; l++)
- {
- if (l < 10)
- {
- printf(" %d ", l);
- }
- else
- {
- printf(" %d ", l);
- }
- for (c = 0; c < 10; c++)
- {
- printf(" |%d|", mataffiche[l][c] );
- }
- printf("\n\n" );
- int matrice [10] [10], cpt, c, l;
- printf("\n\nBienvenue a cette bataille spatiale, les vaisseaux sont en position Commandant\n" );
- printf("Donner un numero de colonne compris entre 0 et 9\n" );
- scanf("%d", &c);
- while ((c > 9) || (c < 0))
- {
- printf("\nLa position est hors de portee, recommencez" );
- scanf("%d", &c);
- }
- printf("Donner un numero de ligne compris entre 0 et 9\n" );
- scanf ("%d", &l);
- while ((l > 9) || (l < 0))
- {
- printf("\nLa position est hors de portee, recommencez\n" );
- scanf ("%d", &l);
- }
- printf("%d\nLa torpille est envoyee Commandant" );
- while (matsecret [l][c] = 0)
- {
- mataffiche [l][c] == -;
- printf(" |%d|", mataffiche[l][c]);
- }
- return 0;
- }
- }
|
Merci pour votre attention! |