Mise à jour de 'biblioNavale2.c'
This commit is contained in:
parent
e27dcb264c
commit
03e02afa72
228
biblioNavale2.c
228
biblioNavale2.c
@ -8,18 +8,18 @@ int verif2(char tab[][10]){
|
|||||||
int j;
|
int j;
|
||||||
for (i=0;i<10;i++){
|
for (i=0;i<10;i++){
|
||||||
for(j=0;j<10;j++){
|
for(j=0;j<10;j++){
|
||||||
if(tab[i][j]!=' '){
|
if(tab[i][j]!=' '){ //On compte le nombre de case qui ne sont pas des espaces
|
||||||
v++;
|
v++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} if(v==17){
|
} if(v==17){ //Si il est égal à 17 on return 1
|
||||||
return 1;
|
return 1;
|
||||||
} return 0;
|
} return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ajoutNavireAleatoire2(char tab[][10],char b,int t){
|
void ajoutNavireAleatoire2(char tab[][10],char b,int t){ //Fonction permettant d'ajouter les navires sur le plateau de façon aléatoire
|
||||||
srand(time(NULL));
|
srand(time(NULL));
|
||||||
int o=(rand()%2);
|
int o=(rand()%2); //On définit l'orientation de façon aléatoire
|
||||||
int x;
|
int x;
|
||||||
int y;
|
int y;
|
||||||
int i;
|
int i;
|
||||||
@ -30,10 +30,10 @@ void ajoutNavireAleatoire2(char tab[][10],char b,int t){
|
|||||||
while (v==0){
|
while (v==0){
|
||||||
srand(time(NULL));
|
srand(time(NULL));
|
||||||
w=0;
|
w=0;
|
||||||
x=(rand()%(10-t));
|
x=(rand()%(10-t)); //On définit x et y de manière aléatoire
|
||||||
y=(rand()%10);
|
y=(rand()%10);
|
||||||
for (i=x;i<x+t;i++){
|
for (i=x;i<x+t;i++){
|
||||||
if(tab[i][y]!=' '){
|
if(tab[i][y]!=' '){ //On vérifie si les cases sont vide
|
||||||
w=1;
|
w=1;
|
||||||
}
|
}
|
||||||
}if(w==0){
|
}if(w==0){
|
||||||
@ -47,10 +47,10 @@ void ajoutNavireAleatoire2(char tab[][10],char b,int t){
|
|||||||
while (v==0){
|
while (v==0){
|
||||||
srand(time(NULL));
|
srand(time(NULL));
|
||||||
w=0;
|
w=0;
|
||||||
x=(rand()%10);
|
x=(rand()%10); //On définit x et y de manière aléatoire
|
||||||
y=(rand()%(10-t));
|
y=(rand()%(10-t));
|
||||||
for (j=y;j<y+t;j++){
|
for (j=y;j<y+t;j++){
|
||||||
if(tab[x][j]!=' '){
|
if(tab[x][j]!=' '){ //On vérifie si les cases sont vide
|
||||||
w=1;
|
w=1;
|
||||||
}
|
}
|
||||||
}if(w==0){
|
}if(w==0){
|
||||||
@ -63,11 +63,11 @@ void ajoutNavireAleatoire2(char tab[][10],char b,int t){
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void affiche2(char t[][10]){
|
void affiche2(char t[][10]){ //Affichage d'un tableau seul
|
||||||
int i;
|
int i;
|
||||||
int j;
|
int j;
|
||||||
char c='A';
|
char c='A';
|
||||||
printf("_|0|1|2|3|4|5|6|7|8|9|\n");
|
printf("_|0|1|2|3|4|5|6|7|8|9|\n"); //Permet d'afficher la colonne du tableau
|
||||||
for(i=0;i<10;i++){
|
for(i=0;i<10;i++){
|
||||||
printf("%c|",c);
|
printf("%c|",c);
|
||||||
for(j=0;j<10;j++){
|
for(j=0;j<10;j++){
|
||||||
@ -77,17 +77,17 @@ void affiche2(char t[][10]){
|
|||||||
} putchar('\n');
|
} putchar('\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
void afficheduo2(char t[][10],char p[][10]){
|
void afficheduo2(char t[][10],char p[][10]){ //Affichage des deux tables cote a cote
|
||||||
int i;
|
int i;
|
||||||
int j;
|
int j;
|
||||||
int h;
|
int h;
|
||||||
char c='A';
|
char c='A';
|
||||||
printf("_|0|1|2|3|4|5|6|7|8|9| _|0|1|2|3|4|5|6|7|8|9|\n");
|
printf("_|0|1|2|3|4|5|6|7|8|9| _|0|1|2|3|4|5|6|7|8|9|\n"); //Permet d'afficher les colonnes des deux tableaux
|
||||||
for(i=0;i<10;i++){
|
for(i=0;i<10;i++){
|
||||||
printf("%c|",c);
|
printf("%c|",c);
|
||||||
for(j=0;j<10;j++){
|
for(j=0;j<10;j++){
|
||||||
if(t[i][j]!='x' && t[i][j]!='.'){
|
if(t[i][j]!='x' && t[i][j]!='.'){
|
||||||
printf(" |");
|
printf(" |"); //Permet d'afficher les barres : | nécéssaire aux colonnes
|
||||||
}else{
|
}else{
|
||||||
printf("%c|",t[i][j]);
|
printf("%c|",t[i][j]);
|
||||||
}
|
}
|
||||||
@ -102,7 +102,7 @@ void afficheduo2(char t[][10],char p[][10]){
|
|||||||
} putchar('\n');
|
} putchar('\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
void initPlateau2(char plat[][10]){
|
void initPlateau2(char plat[][10]){ //Création des plateaux avec le choix des emplacments des plateaux
|
||||||
char c;
|
char c;
|
||||||
char o;
|
char o;
|
||||||
int a;
|
int a;
|
||||||
@ -112,66 +112,66 @@ void initPlateau2(char plat[][10]){
|
|||||||
int j=0;
|
int j=0;
|
||||||
int v=0;
|
int v=0;
|
||||||
int w=0;
|
int w=0;
|
||||||
printf("Voulez vous placez vos navires à la (M)ain ou de manière (A)léatoire ?\n\n");
|
printf("Voulez vous placez vos navires à la (M)ain ou de manière (A)léatoire ?\n\n"); //Demande de la façon dont le joueur veut placer les navires
|
||||||
scanf(" %c",&c);
|
scanf(" %c",&c);
|
||||||
while(c!='M' && c!='A'){
|
while(c!='M' && c!='A'){ //Tant que la réponse n'est pas M ou A
|
||||||
scanf(" %c",&c);
|
scanf(" %c",&c); //ALors on attend
|
||||||
} if (c=='A'){
|
} if (c=='A'){ //Si la réponse est A alors
|
||||||
for (i=0;i<10;i++){
|
for (i=0;i<10;i++){
|
||||||
for(j=0;j<10;j++){
|
for(j=0;j<10;j++){
|
||||||
plat[i][j]=' ';
|
plat[i][j]=' ';
|
||||||
}
|
} //On lance le programme "ajoutNavireAleatoire2"
|
||||||
} ajoutNavireAleatoire2(plat,'A',5);
|
} ajoutNavireAleatoire2(plat,'A',5);
|
||||||
ajoutNavireAleatoire2(plat,'C',4);
|
ajoutNavireAleatoire2(plat,'C',4);
|
||||||
ajoutNavireAleatoire2(plat,'S',3);
|
ajoutNavireAleatoire2(plat,'S',3);
|
||||||
ajoutNavireAleatoire2(plat,'M',3);
|
ajoutNavireAleatoire2(plat,'M',3);
|
||||||
ajoutNavireAleatoire2(plat,'T',2);
|
ajoutNavireAleatoire2(plat,'T',2);
|
||||||
printf("Les navires ont été placé de manière aléatoire\n\n");
|
printf("Les navires ont été placé de manière aléatoire\n\n"); //On annonce que les navires sont placés
|
||||||
} else{
|
} else{ //Si la réponse n'est pas A mais M alors
|
||||||
printf("Vous avez choisis de placer vos navires.\n\n");
|
printf("Vous avez choisis de placer vos navires.\n\n");
|
||||||
printf("Veuillez renseignez l'orientation du navire ((h)orizontal ou (v)ertical) ainsi que la coordonnée la plus au nord-ouest de la manière suivante: h,A2\n\n");
|
printf("Veuillez renseignez l'orientation du navire ((h)orizontal ou (v)ertical) ainsi que la coordonnée la plus au nord-ouest de la manière suivante: h,A2\n\n");
|
||||||
for (i=0;i<10;i++){
|
for (i=0;i<10;i++){
|
||||||
for(j=0;j<10;j++){
|
for(j=0;j<10;j++){
|
||||||
plat[i][j]=' ';
|
plat[i][j]=' ';
|
||||||
}
|
}
|
||||||
} printf("Placez votre Porte-(A)vion (longueur 5)\n\n");
|
} printf("Placez votre Porte-(A)vion (longueur 5)\n\n"); //On demande au joueur de placer le Porte-Avion
|
||||||
while(v==0){
|
while(v==0){biblioNavale2.c
|
||||||
while((a=getchar())!='\n' && c != EOF){}
|
while((a=getchar())!='\n' && c != EOF){}
|
||||||
affiche2(plat);
|
affiche2(plat);
|
||||||
w=0;
|
w=0;
|
||||||
scanf(" %c,%c%d",&o,&cord,&coord);
|
scanf(" %c,%c%d",&o,&cord,&coord); //On récupère l'orientation, la ligne puis la colone
|
||||||
if(o=='h'){
|
if(o=='h'){ //Si l'orientation est horizontale
|
||||||
i=cord-'A';
|
i=cord-'A';
|
||||||
if (i>10 || i<0){
|
if (i>10 || i<0){ //Si la ligne choisi n'est pas entre A et I
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{ //Sinon on regarde la colone
|
||||||
j=coord;
|
j=coord;
|
||||||
if (j+5>10 || j<0){
|
if (j+5>10 || j<0){ //Et si la colone choisi est 5 ou plus
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
for(j=coord;j<coord+5;j++){
|
for(j=coord;j<coord+5;j++){ //On regarde si les 5 cases après celle choisi sont libres
|
||||||
if(plat[i][j]!=' '){
|
if(plat[i][j]!=' '){
|
||||||
w=1;
|
w=1;
|
||||||
}
|
}
|
||||||
} if(w==0){
|
} if(w==0){
|
||||||
for(j=coord;j<coord+5;j++){
|
for(j=coord;j<coord+5;j++){
|
||||||
plat[i][j]='A';
|
plat[i][j]='A';
|
||||||
v=1;
|
v=1; //Si elles sont libres alors on enregistre les coordonées
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
printf("Navire empiète sur un autre\n\n");
|
printf("Navire empiète sur un autre\n\n"); //Sinon on annonce que le bateau empiète sur un autre bateau
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if(o=='v'){
|
if(o=='v'){ //Si l'orientation est Verticale
|
||||||
i=cord-'A';
|
i=cord-'A';
|
||||||
if (i+5>10 || i<0){
|
if (i+5>10 || i<0){ //Si la ligne choisi ne permet pas au bateau de rentrer complétement sur le plateau
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
j=coord;
|
j=coord;
|
||||||
if (j>10 || j<0){
|
if (j>10 || j<0){ //Si la colonne choisi ne permet pas au bateau de rentrer complétement sur le plateau
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n");//Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
for(i=cord-'A';i<cord-'A'+5;i++){
|
for(i=cord-'A';i<cord-'A'+5;i++){
|
||||||
if(plat[i][j]!=' '){
|
if(plat[i][j]!=' '){
|
||||||
@ -181,55 +181,55 @@ void initPlateau2(char plat[][10]){
|
|||||||
for(i=cord-'A';i<cord-'A'+5;i++){
|
for(i=cord-'A';i<cord-'A'+5;i++){
|
||||||
plat[i][j]='A';
|
plat[i][j]='A';
|
||||||
v=1;
|
v=1;
|
||||||
}
|
} //Si elles sont libres alors on enregistre les coordonées
|
||||||
}else{
|
}else{
|
||||||
printf("Navire empiète sur un autre\n\n");
|
printf("Navire empiète sur un autre\n\n"); //Sinon on annonce que le bateau empiète sur un autre bateau
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} printf("Placez votre (C)roiseur (longueur 4)\n\n");
|
} printf("Placez votre (C)roiseur (longueur 4)\n\n"); //On demande au joueur de placer le Croiseur
|
||||||
v=0;
|
v=0;
|
||||||
while(v==0){
|
while(v==0){
|
||||||
while((a=getchar())!='\n' && c != EOF){}
|
while((a=getchar())!='\n' && c != EOF){}
|
||||||
affiche2(plat);
|
affiche2(plat);
|
||||||
w=0;
|
w=0;
|
||||||
scanf( "%c,%c%d",&o,&cord,&coord);
|
scanf( "%c,%c%d",&o,&cord,&coord);
|
||||||
if(o=='h'){
|
if(o=='h'){ //Si l'orientation est horizontale
|
||||||
i=cord-'A';
|
i=cord-'A';
|
||||||
if (i>10 || i<0){
|
if (i>10 || i<0){ //Si la ligne choisi n'est pas entre A et I
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{ //Sinon on regarde la colone
|
||||||
j=coord;
|
j=coord;
|
||||||
if (j+4>10 || j<0){
|
if (j+4>10 || j<0){ //Et si la colone choisi est 8 ou plus
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n");//Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
for(j=coord;j<coord+4;j++){
|
for(j=coord;j<coord+4;j++){
|
||||||
if(plat[i][j]!=' '){
|
if(plat[i][j]!=' '){
|
||||||
w=1;
|
w=1; //Si elles sont libres alors on enregistre les coordonées
|
||||||
}
|
}
|
||||||
} if(w==0){
|
} if(w==0){
|
||||||
for(j=coord;j<coord+4;j++){
|
for(j=coord;j<coord+4;j++){
|
||||||
plat[i][j]='C';
|
plat[i][j]='C';
|
||||||
v=1;
|
v=1;
|
||||||
}
|
} //Si elles sont libres alors on enregistre les coordonées
|
||||||
}else{
|
}else{
|
||||||
printf("Navire empiète sur un autre\n\n");
|
printf("Navire empiète sur un autre\n\n"); //Sinon on annonce que le bateau empiète sur un autre bateau
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if(o=='v'){
|
if(o=='v'){ //Si l'orientation est Verticale
|
||||||
i=cord-'A';
|
i=cord-'A';
|
||||||
if (i+4>10 || i<0){
|
if (i+4>10 || i<0){ //Si la ligne choisi ne permet pas au bateau de rentrer complétement sur le plateau
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n");//Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
j=coord;
|
j=coord;
|
||||||
if (j>10 || j<0){
|
if (j>10 || j<0){ //Si la colonne choisi ne permet pas au bateau de rentrer complétement sur le plateau
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n");//Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
for(i=cord-'A';i<cord-'A'+4;i++){
|
for(i=cord-'A';i<cord-'A'+4;i++){
|
||||||
if(plat[i][j]!=' '){
|
if(plat[i][j]!=' '){
|
||||||
@ -238,32 +238,34 @@ void initPlateau2(char plat[][10]){
|
|||||||
}if(w==0){
|
}if(w==0){
|
||||||
for(i=cord-'A';i<cord-'A'+4;i++){
|
for(i=cord-'A';i<cord-'A'+4;i++){
|
||||||
plat[i][j]='C';
|
plat[i][j]='C';
|
||||||
v=1;
|
v=1; //Si elles sont libres alors on enregistre les coordonées
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
printf("Navire empiète sur un autre\n\n");
|
printf("Navire empiète sur un autre\n\n"); //Sinon on annonce que le bateau empiète sur un autre bateau
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n");//Alors on dit au joueur que le navire est hors limite
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} printf("Placez votre (S)ous-marin (longueur 3)\n\n");
|
} printf("Placez votre (S)ous-marin (longueur 3)\n\n"); //On demande au joueur de placer le SOus-marin
|
||||||
v=0;
|
v=0;
|
||||||
while(v==0){
|
while(v==0){
|
||||||
while((a=getchar())!='\n' && c != EOF){}
|
while((a=getchar())!='\n' && c != EOF){}
|
||||||
affiche2(plat);
|
affiche2(plat);
|
||||||
w=0;
|
w=0;
|
||||||
scanf( "%c,%c%d",&o,&cord,&coord);
|
scanf( "%c,%c%d",&o,&cord,&coord);
|
||||||
if(o=='h'){
|
if(o=='h'){ //Si l'orientation est horizontale
|
||||||
i=cord-'A';
|
i=cord-'A';
|
||||||
if (i>10 || i<0){
|
if (i>10 || i<0){ //Si la ligne choisi n'est pas entre A et I
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
j=coord;
|
j=coord; //Sinon on regarde la colone//Et si la colone choisi est 5 ou plus
|
||||||
if (j+3>10 || j<0){
|
|
||||||
printf("Navire hors limite\n\n");
|
if (j+3>10 || j<0){ //Et si la colone choisi est 7 ou plus
|
||||||
|
|
||||||
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
for(j=coord;j<coord+3;j++){
|
for(j=coord;j<coord+3;j++){
|
||||||
if(plat[i][j]!=' '){
|
if(plat[i][j]!=' '){
|
||||||
@ -273,21 +275,21 @@ void initPlateau2(char plat[][10]){
|
|||||||
for(j=coord;j<coord+3;j++){
|
for(j=coord;j<coord+3;j++){
|
||||||
plat[i][j]='S';
|
plat[i][j]='S';
|
||||||
v=1;
|
v=1;
|
||||||
}
|
} //Si elles sont libres alors on enregistre les coordonées
|
||||||
}else{
|
}else{
|
||||||
printf("Navire empiète sur un autre\n\n");
|
printf("Navire empiète sur un autre\n\n"); //Sinon on annonce que le bateau empiète sur un autre bateau
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if(o=='v'){
|
if(o=='v'){ //Si l'orientation est Verticale
|
||||||
i=cord-'A';
|
i=cord-'A';
|
||||||
if (i+3>10 || i<0){
|
if (i+3>10 || i<0){ //Si la ligne choisi ne permet pas au bateau de rentrer complétement sur le plateau
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
j=coord;
|
j=coord;
|
||||||
if (j>10 || j<0){
|
if (j>10 || j<0){ //Si la colonne choisi ne permet pas au bateau de rentrer complétement sur le plateau
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
for(i=cord-'A';i<cord-'A'+3;i++){
|
for(i=cord-'A';i<cord-'A'+3;i++){
|
||||||
if(plat[i][j]!=' '){
|
if(plat[i][j]!=' '){
|
||||||
@ -297,31 +299,31 @@ void initPlateau2(char plat[][10]){
|
|||||||
for(i=cord-'A';i<cord-'A'+3;i++){
|
for(i=cord-'A';i<cord-'A'+3;i++){
|
||||||
plat[i][j]='S';
|
plat[i][j]='S';
|
||||||
v=1;
|
v=1;
|
||||||
}
|
} //Si elles sont libres alors on enregistre les coordonées
|
||||||
}else{
|
}else{
|
||||||
printf("Navire empiète sur un autre\n\n");
|
printf("Navire empiète sur un autre\n\n"); //Sinon on annonce que le bateau empiète sur un autre bateau
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} printf("Placez votre (M)arin-sous (longueur 3)\n\n");
|
} printf("Placez votre (M)arin-sous (longueur 3)\n\n"); //On demande au joueur de placer le Marin-Sous
|
||||||
v=0;
|
v=0;
|
||||||
while(v==0){
|
while(v==0){
|
||||||
while((a=getchar())!='\n' && c != EOF){}
|
while((a=getchar())!='\n' && c != EOF){}
|
||||||
affiche2(plat);
|
affiche2(plat);
|
||||||
w=0;
|
w=0;
|
||||||
scanf( "%c,%c%d",&o,&cord,&coord);
|
scanf( "%c,%c%d",&o,&cord,&coord);
|
||||||
if(o=='h'){
|
if(o=='h'){ //Si l'orientation est horizontale
|
||||||
i=cord-'A';
|
i=cord-'A';
|
||||||
if (i>10 || i<0){
|
if (i>10 || i<0){ //Si la ligne choisi n'est pas entre A et I
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
j=coord;
|
j=coord; //Sinon on regarde la colone
|
||||||
if (j+3>10 || j<0){
|
if (j+3>10 || j<0){ //Et si la colone choisi est 7 ou plus
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
for(j=coord;j<coord+3;j++){
|
for(j=coord;j<coord+3;j++){
|
||||||
if(plat[i][j]!=' '){
|
if(plat[i][j]!=' '){
|
||||||
@ -331,21 +333,21 @@ void initPlateau2(char plat[][10]){
|
|||||||
for(j=coord;j<coord+3;j++){
|
for(j=coord;j<coord+3;j++){
|
||||||
plat[i][j]='M';
|
plat[i][j]='M';
|
||||||
v=1;
|
v=1;
|
||||||
}
|
} //Si elles sont libres alors on enregistre les coordonées
|
||||||
}else{
|
}else{
|
||||||
printf("Navire empiète sur un autre\n\n");
|
printf("Navire empiète sur un autre\n\n"); //Sinon on annonce que le bateau empiète sur un autre bateau
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if(o=='v'){
|
if(o=='v'){ //Si l'orientation est Verticale
|
||||||
i=cord-'A';
|
i=cord-'A';
|
||||||
if (i+3>10 || i<0){
|
if (i+3>10 || i<0){ //Si la ligne choisi ne permet pas au bateau de rentrer complétement sur le plateau
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
j=coord;
|
j=coord;
|
||||||
if (j>10 || j<0){
|
if (j>10 || j<0){ //Si la colonne choisi ne permet pas au bateau de rentrer complétement sur le plateau
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
for(i=cord-'A';i<cord-'A'+3;i++){
|
for(i=cord-'A';i<cord-'A'+3;i++){
|
||||||
if(plat[i][j]!=' '){
|
if(plat[i][j]!=' '){
|
||||||
@ -355,31 +357,31 @@ void initPlateau2(char plat[][10]){
|
|||||||
for(i=cord-'A';i<cord-'A'+3;i++){
|
for(i=cord-'A';i<cord-'A'+3;i++){
|
||||||
plat[i][j]='M';
|
plat[i][j]='M';
|
||||||
v=1;
|
v=1;
|
||||||
}
|
} //Si elles sont libres alors on enregistre les coordonées
|
||||||
}else{
|
}else{
|
||||||
printf("Navire empiète sur un autre\n\n");
|
printf("Navire empiète sur un autre\n\n"); //Sinon on annonce que le bateau empiète sur un autre bateau
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} printf("Placez votre (T)orpilleur (longueur 2)\n\n");
|
} printf("Placez votre (T)orpilleur (longueur 2)\n\n");//On demande au joueur de placer le Torpilleur
|
||||||
v=0;
|
v=0;
|
||||||
while(v==0){
|
while(v==0){
|
||||||
while((a=getchar())!='\n' && c != EOF){}
|
while((a=getchar())!='\n' && c != EOF){}
|
||||||
affiche2(plat);
|
affiche2(plat);
|
||||||
w=0;
|
w=0;
|
||||||
scanf( "%c,%c%d",&o,&cord,&coord);
|
scanf( "%c,%c%d",&o,&cord,&coord);
|
||||||
if(o=='h'){
|
if(o=='h'){ //Si l'orientation est horizontale
|
||||||
i=cord-'A';
|
i=cord-'A';
|
||||||
if (i>10 || i<0){
|
if (i>10 || i<0){ //Si la ligne choisi n'est pas entre A et I
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
j=coord;
|
j=coord; //Sinon on regarde la colone
|
||||||
if (j+2>10 || j<0){
|
if (j+2>10 || j<0){ //Et si la colone choisi est 8 ou plus
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
for(j=coord;j<coord+2;j++){
|
for(j=coord;j<coord+2;j++){
|
||||||
if(plat[i][j]!=' '){
|
if(plat[i][j]!=' '){
|
||||||
@ -389,21 +391,21 @@ void initPlateau2(char plat[][10]){
|
|||||||
for(j=coord;j<coord+2;j++){
|
for(j=coord;j<coord+2;j++){
|
||||||
plat[i][j]='T';
|
plat[i][j]='T';
|
||||||
v=1;
|
v=1;
|
||||||
}
|
} //Si elles sont libres alors on enregistre les coordonées
|
||||||
}else{
|
}else{
|
||||||
printf("Navire empiète sur un autre\n\n");
|
printf("Navire empiète sur un autre\n\n"); //Sinon on annonce que le bateau empiète sur un autre bateau
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
if(o=='v'){
|
if(o=='v'){ //Si l'orientation est Verticale
|
||||||
i=cord-'A';
|
i=cord-'A';
|
||||||
if (i+2>10 || i<0){
|
if (i+2>10 || i<0){
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
j=coord;
|
j=coord;
|
||||||
if (j>10 || j<0){
|
if (j>10 || j<0){ //Si la ligne choisi ne permet pas au bateau de rentrer complétement sur le plateau
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}else{
|
}else{
|
||||||
for(i=cord-'A';i<cord-'A'+2;i++){
|
for(i=cord-'A';i<cord-'A'+2;i++){
|
||||||
if(plat[i][j]!=' '){
|
if(plat[i][j]!=' '){
|
||||||
@ -413,31 +415,31 @@ void initPlateau2(char plat[][10]){
|
|||||||
for(i=cord-'A';i<cord-'A'+2;i++){
|
for(i=cord-'A';i<cord-'A'+2;i++){
|
||||||
plat[i][j]='T';
|
plat[i][j]='T';
|
||||||
v=1;
|
v=1;
|
||||||
}
|
} //Si elles sont libres alors on enregistre les coordonées
|
||||||
}else{
|
}else{
|
||||||
printf("Navire empiète sur un autre\n\n");
|
printf("Navire empiète sur un autre\n\n"); //Sinon on annonce que le bateau empiète sur un autre bateau
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
printf("Navire hors limite\n\n");
|
printf("Navire hors limite\n\n"); //Alors on dit au joueur que le navire est hors limite
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} if (verif2(plat)==1){
|
} if (verif2(plat)==1){
|
||||||
printf("Tout les navires ont bien été placé\n\n");
|
printf("Tout les navires ont bien été placé\n\n"); //On annonce que tout les bateaux ont étés placés
|
||||||
} else{
|
} else{
|
||||||
printf("Nombre de case navire incorrect\n\n");
|
printf("Nombre de case navire incorrect\n\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int jouerJoueur2(char adv[][10]){
|
int jouerJoueur2(char adv[][10]){ //Phase de jeu
|
||||||
char c;
|
char c;
|
||||||
int x;
|
int x;
|
||||||
int y;
|
int y;
|
||||||
scanf(" %c%d",&c,&y);
|
scanf(" %c%d",&c,&y); //ON récupère le choix du joueur
|
||||||
x=c-'A';
|
x=c-'A';
|
||||||
if (x>10 || x<0){
|
if (x>10 || x<0){ //En fonction du résultat, on dira que soit la coordonée n'est pas bonne, soit que le tire n'a pas touché de bateau ou que le tire à touché un bateau
|
||||||
return -3;
|
return -3;
|
||||||
}
|
}
|
||||||
if (y>10 || y<0){
|
if (y>10 || y<0){
|
||||||
|
Loading…
Reference in New Issue
Block a user