Partie 1 SAE termine
This commit is contained in:
parent
d562e47be5
commit
6a4eae7619
254
BatailleNavale.c
254
BatailleNavale.c
@ -1,22 +1,266 @@
|
||||
#include"biblioNavale.h"
|
||||
#include<stdlib.h>
|
||||
#include<stdio.h>
|
||||
#include<time.h>
|
||||
|
||||
|
||||
/*commande pour compiler :"gcc BatailleNavale.c -o BatailleNavale.o biblioNavale.o
|
||||
"*/
|
||||
int main(int argc, char const *argv[]){
|
||||
/*Tout d'abord on va créer les plateaux des 2 joueurs et y placer les bateaux
|
||||
on fait une boucle qui permet de recommencer l'initialisation si la
|
||||
verification renvoi une erreur*/
|
||||
/*création de toutes les variables utiles au programme et rand pour le
|
||||
placement aléatoire des bateaux.*/
|
||||
srand(time(NULL));
|
||||
char p1 [10][10];
|
||||
char p2 [10][10];
|
||||
int victoirep1=5;
|
||||
int victoirep2=5;
|
||||
int a1=5;
|
||||
int a2=5;
|
||||
int c1=4;
|
||||
int c2=4;
|
||||
int s1=3;
|
||||
int s2=3;
|
||||
int m1=3;
|
||||
int m2=3;
|
||||
int t1=2;
|
||||
int t2=2;
|
||||
int tour=0;
|
||||
/*Tout d'abord on va initialiser les plateaux des 2 joueurs.
|
||||
On fait une boucle qui permet de recommencer l'initialisation si la
|
||||
verification renvoi une erreur*/
|
||||
while(verif(p1)==0||verif(p2)==0){
|
||||
printf("Joueur 1 :\n");
|
||||
initPlateau(p1);
|
||||
printf("Joueur 2 :\n");
|
||||
initPlateau(p2);
|
||||
afficheduo(p1,p2);}
|
||||
|
||||
}
|
||||
|
||||
/*Affichage*/
|
||||
for (int i = 0; i < 60; i++)
|
||||
{printf("-");}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("La partie peut commencer !\n");
|
||||
/*Affichage*/
|
||||
|
||||
|
||||
/*Boucle de la partie entière*/
|
||||
while(victoirep1!=0 && victoirep2!=0){
|
||||
if(victoirep1!=0 && victoirep2!=0){
|
||||
tour=0;
|
||||
}
|
||||
/*Boucle du tour de joueur 1*/
|
||||
while(tour<1){
|
||||
if(victoirep2==0){break;}
|
||||
printf("Au tour du joueur 1 :\n");
|
||||
int tir=jouerJoueur(p1);
|
||||
/*si le tir a rencontré une erreur*/
|
||||
if(tir==-2||tir==-3){printf("veuillez tirer dans le plateau :)\n");}
|
||||
|
||||
/*si le tir ne touche aucun bateau*/
|
||||
if(tir==-1){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("À l'eau !\n");
|
||||
tour=tour+1;
|
||||
}
|
||||
|
||||
/*si le tir a touché le porte avion*/
|
||||
if(tir==0 && a1>=0){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("Touché\n");
|
||||
a1=a1-1;
|
||||
}
|
||||
if (tir==0&&a1<=0){
|
||||
victoirep1=victoirep1-1;
|
||||
printf("Coulé !\n");
|
||||
if(victoirep1==0){break;}
|
||||
|
||||
}
|
||||
/*si le tir a touché le croiseur*/
|
||||
if(tir==1 && c1>=0){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("Touché\n");
|
||||
c1=c1-1;
|
||||
}
|
||||
if (tir==1 && c1<=0){
|
||||
printf("Coulé !\n");
|
||||
victoirep1=victoirep1-1;
|
||||
if(victoirep1==0){break;}
|
||||
|
||||
}
|
||||
/*si le tir a touché le sous marin*/
|
||||
if(tir==2 && s1>=0){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("Touché\n");
|
||||
s1=s1-1;
|
||||
}
|
||||
if (tir==2 && s1<=0){
|
||||
printf("Coulé !\n");
|
||||
victoirep1=victoirep1-1;
|
||||
if(victoirep1==0){break;}
|
||||
|
||||
}
|
||||
/*si le tir a touché le mous sarin*/
|
||||
if(tir==3 && m1>=0){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("Touché\n");
|
||||
m1=m1-1;
|
||||
}
|
||||
if (tir==3 && m1<=0){
|
||||
printf("Coulé !\n");
|
||||
victoirep1=victoirep1-1;
|
||||
if(victoirep1==0){break;}
|
||||
|
||||
}
|
||||
/*si le tir a touché le torpilleur*/
|
||||
if(tir==4 && t1>=0){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("Touché\n");
|
||||
t1=t1-1;
|
||||
}
|
||||
if (tir==4 && t1<=0){
|
||||
printf("Coulé !\n");
|
||||
victoirep1=victoirep1-1;
|
||||
if(victoirep1==0){break;}
|
||||
|
||||
}
|
||||
}
|
||||
if(victoirep1!=0 && victoirep2!=0){
|
||||
tour=0;
|
||||
}
|
||||
/*Boucle du tour de joueur 2*/
|
||||
while(tour<1){
|
||||
if(victoirep1==0){break;}
|
||||
printf("Au tour du joueur 2 :\n");
|
||||
int tir=jouerJoueur(p2);
|
||||
/*si le tir a rencontré une erreur*/
|
||||
if(tir==-2||tir==-3){printf("veuillez tirer dans le plateau :)\n");}
|
||||
|
||||
/*si le tir ne touche aucun bateau*/
|
||||
if(tir==-1){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("À l'eau !\n");
|
||||
tour=tour+1;
|
||||
}
|
||||
|
||||
/*si le tir a touché le porte avion*/
|
||||
if(tir==0 && a2>=0){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("Touché\n");
|
||||
a2=a2-1;
|
||||
}
|
||||
if (tir==0 && a2<=0){
|
||||
printf("Coulé !\n");
|
||||
victoirep2=victoirep2-1;
|
||||
if(victoirep2==0){break;}
|
||||
|
||||
}
|
||||
/*si le tir a touché le croiseur*/
|
||||
if(tir==1 && c2>=0){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("Touché\n");
|
||||
c2=c2-1;
|
||||
}
|
||||
if (tir==1 && c2<=0){
|
||||
printf("Coulé !\n");
|
||||
victoirep2=victoirep2-1;
|
||||
if(victoirep2==0){break;}
|
||||
|
||||
}
|
||||
/*si le tir a touché le sous marin*/
|
||||
if(tir==2 && s2>=0){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("Touché\n");
|
||||
s2=s2-1;
|
||||
}
|
||||
if (tir==2 && s1<=0){
|
||||
printf("Coulé !\n");
|
||||
victoirep2=victoirep2-1;
|
||||
if(victoirep2==0){break;}
|
||||
|
||||
}
|
||||
/*si le tir a touché le mous sarin*/
|
||||
if(tir==3 && m2>=0){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("Touché\n");
|
||||
m2=m2-1;
|
||||
}
|
||||
if (tir==3 && m2<=0){
|
||||
printf("Coulé !\n");
|
||||
victoirep2=victoirep2-1;
|
||||
if(victoirep2==0){break;}
|
||||
|
||||
}
|
||||
/*si le tir a touché le torpilleur*/
|
||||
if(tir==4 && t2>=0){
|
||||
for (int i = 0; i < 60; i++){
|
||||
printf("-");
|
||||
}
|
||||
printf("\n");
|
||||
afficheduo(p1,p2);
|
||||
printf("Touché\n");
|
||||
t2=t2-1;
|
||||
}
|
||||
if (tir==4 && t2<=0){
|
||||
printf("Coulé !\n");
|
||||
victoirep2=victoirep2-1;
|
||||
if(victoirep2==0){break;}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
/*fin de la boucle de la partie entière donc il y a désormais un vainqueur
|
||||
on affiche qui a remporté la partie avec les conditions suivantes*/
|
||||
if(victoirep1==0){
|
||||
printf("Joueur 1 a gagné la partie !\nBien joué !\n");
|
||||
}
|
||||
if(victoirep2==0){
|
||||
printf("Joueur 2 a gagné la partie !\nBien joué !\n");
|
||||
}
|
||||
return 0;
|
||||
}
|
BIN
BatailleNavale.o
BIN
BatailleNavale.o
Binary file not shown.
Loading…
Reference in New Issue
Block a user