diff --git a/biblioNavale2.c b/biblioNavale2.c index 79ec292..af16d51 100644 --- a/biblioNavale2.c +++ b/biblioNavale2.c @@ -8,18 +8,18 @@ int verif2(char tab[][10]){ int j; for (i=0;i<10;i++){ 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++; } } - } if(v==17){ + } if(v==17){ //Si il est égal à 17 on return 1 return 1; } 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)); - int o=(rand()%2); + int o=(rand()%2); //On définit l'orientation de façon aléatoire int x; int y; int i; @@ -30,10 +30,10 @@ void ajoutNavireAleatoire2(char tab[][10],char b,int t){ while (v==0){ srand(time(NULL)); w=0; - x=(rand()%(10-t)); + x=(rand()%(10-t)); //On définit x et y de manière aléatoire y=(rand()%10); for (i=x;i10 || i<0){ - printf("Navire hors limite\n\n"); - }else{ - j=coord; - if (j+5>10 || j<0){ - printf("Navire hors limite\n\n"); + scanf(" %c,%c%d",&o,&cord,&coord); //On récupère l'orientation, la ligne puis la colone + if(o=='h'){ //Si l'orientation est horizontale + i=cord-'A'; + if (i>10 || 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){ - printf("Navire hors limite\n\n"); + } + }else{ + if(o=='v'){ //Si l'orientation est Verticale + i=cord-'A'; + 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"); //Alors on dit au joueur que le navire est hors limite }else{ j=coord; - if (j>10 || j<0){ - printf("Navire hors limite\n\n"); + 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){ - printf("Navire hors limite\n\n"); - }else{ + if (i>10 || 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){ - printf("Navire hors limite\n\n"); + 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){ - printf("Navire hors limite\n\n"); + if(o=='v'){ //Si l'orientation est Verticale + i=cord-'A'; + 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");//Alors on dit au joueur que le navire est hors limite }else{ j=coord; - if (j>10 || j<0){ - printf("Navire hors limite\n\n"); + 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){ - printf("Navire hors limite\n\n"); + if (i>10 || 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; - if (j+3>10 || j<0){ - printf("Navire hors limite\n\n"); + 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){ - printf("Navire hors limite\n\n"); + 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"); //Alors on dit au joueur que le navire est hors limite }else{ j=coord; - if (j>10 || j<0){ - printf("Navire hors limite\n\n"); + 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){ - printf("Navire hors limite\n\n"); + if (i>10 || 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; - if (j+3>10 || j<0){ - printf("Navire hors limite\n\n"); + 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){ - printf("Navire hors limite\n\n"); + 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"); //Alors on dit au joueur que le navire est hors limite }else{ j=coord; - if (j>10 || j<0){ - printf("Navire hors limite\n\n"); + 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){ - printf("Navire hors limite\n\n"); + if (i>10 || 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; - if (j+2>10 || j<0){ - printf("Navire hors limite\n\n"); + 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"); + 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){ - printf("Navire hors limite\n\n"); + 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){ + 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; } if (y>10 || y<0){