int main(int ac, char **av) { (void)ac; /* Unused argument */ (void)av; /* Unused argument */ check_1(1, buf1, sizeof(buf1), sizeof(buf1)); check_1(0, buf1, sizeof(buf1) - 1, sizeof(buf1) - 1); check_2(1, buf2, sizeof(buf2), sizeof(buf2)); check_2(0, buf2, sizeof(buf2) - 1, sizeof(buf2) - 1); return 0; }
/* champ de bataille */ int main(void) { srand(time(NULL)); // fontion random int game; // valeur de victoire int row,col; // opérateurs pour les coordonnées int counter; // compteur int trans; int win; // varaibel définissant si le joueur a gagné char grid[12][12]; // grille contenant les bateaux placées par l'ordinateur char grid_2[12][12];// grille vide que le joueur voit int r,c,error; int begin; do{ counter = 0; grid[nligne][ncolonne] = '~'; //rempli les deux grilles avec des ~ grid_2[nligne][ncolonne] = '~'; //idem r = 0; c = 0; error = 0; bonjour(); //Donne les instructions win = 0;// mets à 0 la valeur de victoire system("PAUSE"); game = 1; // Initialise la valeur de victoire grilleInitiale(grid);// place le plateau en mémoire grilleInitiale(grid_2);// idem system("CLS");// vide l'écran botBoat( grid, "destroyer" , 4); botBoat( grid, "cruiser" , 3); botBoat( grid, "vessel" , 2); botBoat( grid_2, "~XO" , 4); botBoat( grid_2, "~XO" , 3); botBoat( grid_2, "~XO" , 2); for(r=0;r<10;r++) { for(c=0;c<10;c++) { if( grid[r][c] != '~'){ // Vérification que tous les bateaux soient bien placés error++; } } } if( error == 8 || error != 9){ printf(" ERROR: Only 8 ships were generated... Game reset\n\n"); begin = 1; } else{ begin = 0; //si tout va bien, la partie commence } }while(begin == 1); do{ afficherGrille(grid_2);// on affiche la grille vide printf(" Ennemis detectes ! Feu a volonte !!\n\n"); printf(" Capitaine, entrez les coordonnees des missiles !\n\n"); printf(" - Entrez un chiffre puis appuyez sur 'entree'\n\n\n"); printf("(ligne): "); scanf("%d", &row); //entrée des coordonnées par le joueur printf("(colonne): "); scanf("%d", &col); if( row > 9 || row<0 || col > 9 || col <0){ //vérif des coordonnées printf("coordonnees non correctes, veuillez les entrez de nouveau\n"); system("PAUSE"); continue; } if(grid[row][col] == 'X' || grid[row][col] == 'O') { continue; } feu(grid,row,col); check_2(grid,row, col); //retourne la valeur de retour et affiche 'x' ou 'o' trans = check_2(grid,row, col); if(trans == 1){ win++; // Si le missile touche, la valeur win s'incrémente jusqu'à 9 } remplaceGrille(grid_2,row,col,trans);// remplace la cellule visé par le joueur afficherGrille(grid_2);// affiche la nouvelle grille verifMissile(grid,row,col); system("pause"); counter++;// compte le coup effectué if(win == iWIN){ game = 0; // fin de la partie } }while(game == 1 && win <= iWIN); if(game == 0){ system("CLS"); printf("You win!\n"); printf("Captain... you saved us!!!\n\n"); printf("You completed the game in %d move(s)!\n\n",counter); } if( game == 2){ system("PAUSE"); return 0; } system("PAUSE"); return 0; }/* Fin du champ de bataille */