diff --git a/MaBatailleNavale.c b/MaBatailleNavale.c index 5fbdcc9..47ca5f2 100644 --- a/MaBatailleNavale.c +++ b/MaBatailleNavale.c @@ -1,11 +1,19 @@ + +/*Initialisation des bibliothèques nécéssaire*/ #include #include #include "biblioNavale.h" + + int main(void){ int victoire=0; int coup=0; + +/*Variable Joueur mise à 1 car c'est lui qui commence à jouer*/ int joueur=1; + +/*Réinitialisation des dégats subit des bateaus*/ int PorteAvionJ1=0; int CroiseurJ1=0; int SousMarinJ1=0; @@ -16,83 +24,95 @@ int main(void){ int SousMarinJ2=0; int MarinSousJ2=0; int TorpilleurJ2=0; + + /*Création des tableau de dimension 10 par 10 */ char PlateauJ1[10][10]={" "}; char PlateauJ2[10][10]={" "}; + +/*Message de lancement*/ printf("Bienvenue sur cette simulation de la Bataille Navale.\n"); printf("Votre objectif sera de détruire la totalité des navires adverses !\n"); + printf("Joueur 1:\n"); + +/*Création du plateau du joueur 1 */ initPlateau(PlateauJ1); - printf("Joueur 2:\n"); +/*Création du plateau du joueur 2 */ + printf("Joueur 2:\n"); initPlateau(PlateauJ2); - while (victoire==0){ - while (joueur==1){ + + + while (victoire==0){ /*Tant que la variable victoire vaut 0 alors on continue*/ + while (joueur==1){ /*Tant que la variable Joueur vaut 1 alors le Joueur 1 joue */ printf("Au tour de Joueur 1\n\n\n"); printf(" Joueur 1 Joueur 2\n"); afficheduo(PlateauJ1,PlateauJ2); - printf("Veuillez saisir une coordonnée: "); - coup=jouerJoueur(PlateauJ2); + printf("Veuillez saisir une coordonnée: "); /*Affichage des plateau sans montrer l'emplcement des bateaux*/ + coup=jouerJoueur(PlateauJ2); /*Permet de jouer sur le plateau du joueur 2 */ switch(coup){ - case -3: printf("\nCoup en dehors des limites, veuillez recommencer.\n");break; - case -2: printf("\nCaractère non reconnu, veuillez recommencer.\n");break; + case -3: printf("\nCoup en dehors des limites, veuillez recommencer.\n");break; /*Si le coup joué est hors des limites du plateau alors on affiche un message d'avertissement et le joueur1 rejoue*/ - case -1: printf("\nA l'eau\n");joueur=2;break; + case -2: printf("\nCaractère non reconnu, veuillez recommencer.\n");break; /*Si le joueur1 entre des caractére qui ne sont pas des coordonnées alors on affiche un message d'avertissement et le joueur1 rejoue*/ - case 0: printf("\nTouché ! Vous pouvez rejouer !\n") ; PorteAvionJ1++; - (PorteAvionJ1==5)? printf("Porte-avion ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; + case -1: printf("\nA l'eau\n");joueur=2;break; /*Si les coordonnées rentrées ne touchent pas de bateaux alors la variable joueur devient 2*/ - case 1: printf("\nTouché ! Vous pouvez rejouer !\n") ; CroiseurJ1++; - (CroiseurJ1==4)? printf("Croiseur ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; + case 0: printf("\nTouché ! Vous pouvez rejouer !\n") ; PorteAvionJ1++; /*Si le joueur1 touche le Porte-Avion alors la variable PorteAvionJ1 augmente de 1*/ + (PorteAvionJ1==5)? printf("Porte-avion ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; /*Si la variable PorteAvionJ1 est de 5 alors on annonce que le Porte-Avion ennemi est coulé*/ - case 2: printf("\nTouché ! Vous pouvez rejouer !\n") ; SousMarinJ1++; - (SousMarinJ1==3)? printf("Sous-marin ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; + case 1: printf("\nTouché ! Vous pouvez rejouer !\n") ; CroiseurJ1++; /*Si le joueur1 touche le Croiseur alors la variable CroiseurJ1 augmente de 1*/ + (CroiseurJ1==4)? printf("Croiseur ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; /*Si la variable CroiseurJ1 est de 4 alors on annonce que le Croiseur ennemi est coulé*/ - case 3: printf("\nTouché ! Vous pouvez rejouer !\n") ; MarinSousJ1++; - (MarinSousJ1==3)? printf("Marin-sous ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break; - case 4: printf("\nTouché ! Vous pouvez rejouer !\n") ; TorpilleurJ1++; - (TorpilleurJ1==2)? printf("Torpilleur ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; - } if( PorteAvionJ1==5 && CroiseurJ1==4 && SousMarinJ1==3 && MarinSousJ1==3 && TorpilleurJ1==2 ){ - victoire=1; - joueur=0; - printf("Le Joueur 1 remporte la partie !\n\n"); + case 2: printf("\nTouché ! Vous pouvez rejouer !\n") ; SousMarinJ1++; /*Si le joueur1 touche le Sous-marin alors la variable SousMarinJ1 augmente de 1*/ + (SousMarinJ1==3)? printf("Sous-marin ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ;/*Si la variable SousMarinJ1 est de 3 alors on annonce que le Sous-Marin ennemi est coulé*/ + + case 3: printf("\nTouché ! Vous pouvez rejouer !\n") ; MarinSousJ1++; /*Si le joueur1 touche le deuxième Sous-marin alors la variable MarinSousJ1 augmente de 1*/ + (MarinSousJ1==3)? printf("Marin-sous ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break; /*Si la variable MarinSousJ1 est de 3 alors on annonce que le Marin-sous ennemi est coulé*/ + + case 4: printf("\nTouché ! Vous pouvez rejouer !\n") ; TorpilleurJ1++; /*Si le joueur1 touche le Torpilleur alors la variable TorpilleurJ1 augmente de 1*/ + (TorpilleurJ1==2)? printf("Torpilleur ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; /*Si la variable TorpilleurJ1 est de 2 alors on annonce que le Torpilleur ennemi est coulé*/ + } if( PorteAvionJ1==5 && CroiseurJ1==4 && SousMarinJ1==3 && MarinSousJ1==3 && TorpilleurJ1==2 ){ /*Si la variable PorteAvionJ1 vaut 5 ET que la variable CroiseurJ1 vaut 4 ET que la variable SousMarinJ1 vaut 3 ET que la variable MarinSousJ1 vaut 3 ET que la variable TorpilleurJ1 vaut 2 alors */ + victoire=1; /* On passe la variable victoire à 1*/ + joueur=0; /* Et on passe la variable Joueur à 0 pour arrêter la partie*/ + printf("Le Joueur 1 remporte la partie !\n\n"); /*Et enfin on annonce la victoire du joueur 1*/ } } - while (joueur==2){ + while (joueur==2){ /*Tant que la variable Joueur vaut 2 alors le Joueur 2 joue */ printf("Au tour de Joueur 2\n\n\n"); printf(" Joueur 1 Joueur 2\n"); - afficheduo(PlateauJ1,PlateauJ2); + afficheduo(PlateauJ1,PlateauJ2); /*Affichage des plateau sans montrer l'emplcement des bateaux*/ printf("Veuillez saisir une coordonnée: "); - coup=jouerJoueur(PlateauJ1); + coup=jouerJoueur(PlateauJ1); /*Permet de jouer sur le plateau du joueur 1*/ switch(coup){ - case -3: printf("\nCoup en dehors des limites, veuillez recommencer.\n");break; + case -3: printf("\nCoup en dehors des limites, veuillez recommencer.\n");break; /*Si le coup joué est hors des limites du plateau alors on affiche un message d'avertissement et le joueur2 rejoue*/ - case -2: printf("\nCaractère non reconnu, veuillez recommencer.\n");break; + case -2: printf("\nCaractère non reconnu, veuillez recommencer.\n");break; /*Si le joueur2 entre des caractére qui ne sont pas des coordonnées alors on affiche un message d'avertissement et le joueur1 rejoue*/ - case -1: printf("\nA l'eau\n");joueur=1;break; + case -1: printf("\nA l'eau\n");joueur=1;break; /*Si les coordonnées rentrées ne touchent pas de bateaux alors la variable joueur devient 1*/ - case 0: printf("\nTouché ! Vous pouvez rejouer !\n") ; PorteAvionJ1++; - (PorteAvionJ2==5)? printf("Porte-avion ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; + case 0: printf("\nTouché ! Vous pouvez rejouer !\n") ; PorteAvionJ2++; /*Si le joueur2 touche le Porte-Avion alors la variable PorteAvionJ2 augmente de 1*/ + (PorteAvionJ2==5)? printf("Porte-avion ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; /*Si la variable PorteAvionJ2 est de 5 alors on annonce que le Porte-Avion ennemi est coulé*/ - case 1: printf("\nTouché ! Vous pouvez rejouer !\n") ; CroiseurJ1++; - (CroiseurJ2==4)? printf("Croiseur ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; + case 1: printf("\nTouché ! Vous pouvez rejouer !\n") ; CroiseurJ2++; /*Si le joueur2 touche le Croiseur alors la variable CroiseurJ2 augmente de 1*/ + (CroiseurJ2==4)? printf("Croiseur ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; /*Si la variable CroiseurJ2 est de 4 alors on annonce que le Croiseur ennemi est coulé*/ - case 2: printf("\nTouché ! Vous pouvez rejouer !\n") ; SousMarinJ1++; - (SousMarinJ2==3)? printf("Sous-marin ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; + case 2: printf("\nTouché ! Vous pouvez rejouer !\n") ; SousMarinJ2++; /*Si le joueur2 touche le Sous-marin alors la variable SousMarin augmente de 1*/ + (SousMarinJ2==3)? printf("Sous-marin ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; /*Si la variable SousMarin est de 3 alors on annonce que le Sous-Marin ennemi est coulé*/ - case 3: printf("\nTouché ! Vous pouvez rejouer !\n") ; MarinSousJ1++; - (MarinSousJ2==3)? printf("Marin-sous ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break; + case 3: printf("\nTouché ! Vous pouvez rejouer !\n") ; MarinSousJ2++; /*Si le joueur2 touche le deuxième Sous-marin alors la variable MarinSous augmente de 1*/ + (MarinSousJ2==3)? printf("Marin-sous ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break; /*Si la variable MarinSous est de 3 alors on annonce que le Marin-Sous ennemi est coulé*/ - case 4: printf("\nTouché ! Vous pouvez rejouer !\n") ; TorpilleurJ1++; - (TorpilleurJ2==2)? printf("Torpilleur ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; - } if( PorteAvionJ2==5 && CroiseurJ2==4 && SousMarinJ2==3 && MarinSousJ2==3 && TorpilleurJ2==2 ){ - victoire=1; - joueur=0; - printf("Le Joueur 2 remporte la partie !\n\n"); + case 4: printf("\nTouché ! Vous pouvez rejouer !\n") ; TorpilleurJ2++; /*Si le joueur2 touche le Torpilleur alors la variable TorpilleurJ2 augmente de 1*/ + (TorpilleurJ2==2)? printf("Torpilleur ennemi coulé !\n"):printf("Le bateau n'a pas encore coulé.\n") ; break ; /*Si la variable TorpilleurJ2 est de 2 alors on annonce que le Torpilleur ennemi est coulé*/ + } if( PorteAvionJ2==5 && CroiseurJ2==4 && SousMarinJ2==3 && MarinSousJ2==3 && TorpilleurJ2==2 ){ /*Si la variable PorteAvionJ2 vaut 5 ET que la variable CroiseurJ2 vaut 4 ET que la variable SousMarinJ2 vaut 3 ET que la variable MarinSousJ2 vaut 3 ET que la variable TorpilleurJ2 vaut 2 alors */ + victoire=1; /* On passe la variable victoire à 1*/ + joueur=0; /* Et on passe la variable Joueur à 0 pour arrêter la parite*/ + printf("Le Joueur 2 remporte la partie !\n\n"); /*Et enfin on annonce la victoire du joueur 1*/ } } }