#include #include #include int verif2(char tab[][10]){ int v=0; int i; int j; for (i=0;i<10;i++){ for(j=0;j<10;j++){ if(tab[i][j]!=' '){ /*On compte le nombre de case qui ne sont pas des espaces*/ v++; } } } if(v==17){ /*Si il est égal à 17 on return 1*/ return 1; } return 0; } 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)); int o=(rand()%2); /*On définit l'orientation de façon aléatoire*/ int x; int y; int i; int j; int v=0; int w=0; if (o==0){ while (v==0){ srand(time(NULL)); w=0; x=(rand()%(10-t)); /*On définit x et y de manière aléatoire*/ y=(rand()%10); for (i=x;i10 || i<0){ /*Si la ligne choisi n'est pas entre A et I*/ printf("Navire hors limite\n\n"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ /*Sinon on regarde la colone*/ j=coord; if (j+5>10 || j<0){ /*Et si la colone choisi est 5 ou plus*/ printf("Navire hors limite\n\n"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ for(j=coord;j10 || i<0){ /*Si la ligne choisi ne permet pas au bateau de rentrer complétement sur le plateau*/ printf("Navire hors limite\n\n"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ j=coord; 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");/*Alors on dit au joueur que le navire est hors limite*/ }else{ for(i=cord-'A';i10 || i<0){ /*Si la ligne choisi n'est pas entre A et I*/ printf("Navire hors limite\n\n"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ /*Sinon on regarde la colone*/ j=coord; if (j+4>10 || j<0){ /*Et si la colone choisi est 8 ou plus*/ printf("Navire hors limite\n\n");/*Alors on dit au joueur que le navire est hors limite*/ }else{ for(j=coord;j10 || i<0){ /*Si la ligne choisi ne permet pas au bateau de rentrer complétement sur le plateau*/ printf("Navire hors limite\n\n");/*Alors on dit au joueur que le navire est hors limite*/ }else{ j=coord; 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");/*Alors on dit au joueur que le navire est hors limite*/ }else{ for(i=cord-'A';i10 || i<0){ /*Si la ligne choisi n'est pas entre A et I*/ printf("Navire hors limite\n\n"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ j=coord; /*Sinon on regarde la colone*/ 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{ for(j=coord;j10 || i<0){ /*Si la ligne choisi ne permet pas au bateau de rentrer complétement sur le plateau*/ printf("Navire hors limite\n\n"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ j=coord; 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"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ for(i=cord-'A';i10 || i<0){ /*Si la ligne choisi n'est pas entre A et I*/ printf("Navire hors limite\n\n"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ j=coord; /*Sinon on regarde la colone*/ 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{ for(j=coord;j10 || i<0){ /*Si la ligne choisi ne permet pas au bateau de rentrer complétement sur le plateau*/ printf("Navire hors limite\n\n"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ j=coord; 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"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ for(i=cord-'A';i10 || i<0){ /*Si la ligne choisi n'est pas entre A et I*/ printf("Navire hors limite\n\n"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ j=coord; /*Sinon on regarde la colone*/ if (j+2>10 || j<0){ /*Et si la colone choisi est 8 ou plus*/ printf("Navire hors limite\n\n"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ for(j=coord;j10 || i<0){ printf("Navire hors limite\n\n"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ j=coord; 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"); /*Alors on dit au joueur que le navire est hors limite*/ }else{ for(i=cord-'A';i10 || 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; } if (y>10 || y<0){ return -3; } switch(adv[x][y]){ case 'A': adv[x][y]='x' ; return 0; case 'C': adv[x][y]='x' ; return 1; case 'S': adv[x][y]='x' ; return 2; case 'M': adv[x][y]='x' ; return 3; case 'T': adv[x][y]='x' ; return 4; case ' ': adv[x][y]='.' ;return -1; } return -2; }