#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//Et si la colone choisi est 5 ou plus 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; }