2022-11-30 01:01:17 +01:00
|
|
|
#include <stdio.h>
|
|
|
|
#include <stdlib.h>
|
|
|
|
#include "biblioNavale.h"
|
|
|
|
|
|
|
|
int main(void){
|
|
|
|
int victoire=0;
|
|
|
|
int coup=0;
|
|
|
|
int joueur=1;
|
|
|
|
int PorteAvionJ1=0;
|
|
|
|
int CroiseurJ1=0;
|
|
|
|
int SousMarinJ1=0;
|
|
|
|
int MarinSousJ1=0;
|
|
|
|
int TorpilleurJ1=0;
|
|
|
|
int PorteAvionJ2=0;
|
|
|
|
int CroiseurJ2=0;
|
|
|
|
int SousMarinJ2=0;
|
|
|
|
int MarinSousJ2=0;
|
|
|
|
int TorpilleurJ2=0;
|
|
|
|
char PlateauJ1[10][10]={" "};
|
|
|
|
char PlateauJ2[10][10]={" "};
|
|
|
|
printf("Bienvenue sur cette simulation de la Bataille Navale.\n");
|
2022-11-30 18:44:45 +01:00
|
|
|
printf("Votre objectif sera de détruire la totalité des navires adverses !\n");
|
2022-11-30 01:01:17 +01:00
|
|
|
|
|
|
|
printf("Joueur 1:\n");
|
|
|
|
initPlateau(PlateauJ1);
|
|
|
|
|
|
|
|
printf("Joueur 2:\n");
|
|
|
|
initPlateau(PlateauJ2);
|
|
|
|
|
|
|
|
while (victoire==0){
|
|
|
|
while (joueur==1){
|
|
|
|
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);
|
|
|
|
switch(coup){
|
|
|
|
case -3: printf("\nCoup en dehors des limites, veuillez recommencer.\n");break;
|
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
case -2: printf("\nCaractère non reconnu, veuillez recommencer.\n");break;
|
2022-11-30 01:01:17 +01:00
|
|
|
|
|
|
|
case -1: printf("\nA l'eau\n");joueur=2;break;
|
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
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 ;
|
2022-11-30 01:01:17 +01:00
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
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 ;
|
2022-11-30 01:01:17 +01:00
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
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 ;
|
2022-11-30 01:01:17 +01:00
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
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;
|
2022-11-30 01:01:17 +01:00
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
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 ;
|
2022-11-30 01:01:17 +01:00
|
|
|
} if( PorteAvionJ1==5 && CroiseurJ1==4 && SousMarinJ1==3 && MarinSousJ1==3 && TorpilleurJ1==2 ){
|
|
|
|
victoire=1;
|
|
|
|
joueur=0;
|
|
|
|
printf("Le Joueur 1 remporte la partie !\n\n");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
while (joueur==2){
|
|
|
|
printf("Au tour de Joueur 2\n\n\n");
|
|
|
|
printf(" Joueur 1 Joueur 2\n");
|
|
|
|
afficheduo(PlateauJ1,PlateauJ2);
|
|
|
|
printf("Veuillez saisir une coordonnée: ");
|
|
|
|
coup=jouerJoueur(PlateauJ1);
|
|
|
|
switch(coup){
|
|
|
|
case -3: printf("\nCoup en dehors des limites, veuillez recommencer.\n");break;
|
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
case -2: printf("\nCaractère non reconnu, veuillez recommencer.\n");break;
|
2022-11-30 01:01:17 +01:00
|
|
|
|
|
|
|
case -1: printf("\nA l'eau\n");joueur=1;break;
|
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
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 ;
|
2022-11-30 01:01:17 +01:00
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
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 ;
|
2022-11-30 01:01:17 +01:00
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
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 ;
|
2022-11-30 01:01:17 +01:00
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
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;
|
2022-11-30 01:01:17 +01:00
|
|
|
|
2022-11-30 18:44:45 +01:00
|
|
|
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 ;
|
2022-11-30 01:01:17 +01:00
|
|
|
} if( PorteAvionJ2==5 && CroiseurJ2==4 && SousMarinJ2==3 && MarinSousJ2==3 && TorpilleurJ2==2 ){
|
|
|
|
victoire=1;
|
|
|
|
joueur=0;
|
|
|
|
printf("Le Joueur 2 remporte la partie !\n\n");
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return EXIT_SUCCESS;
|
|
|
|
}
|