/// <summary> /// Tirer un missile aux coordonnées <paramref name="coord"/> /// </summary> /// <param name="grilleBateaux"></param> /// <param name="grilleMissile"></param> /// <param name="tabToucheBateaux"></param> /// <param name="coord"></param> /// <param name="tabTaillesBateaux"></param> /// <returns>résultat du tir: type du bateau touché, 0 si aucun bateau touché, -1 erreur on a déjà tiré ici</returns> public static int Tirer(int[,] grilleBateaux, int[,] grilleMissile , int[] tabToucheBateaux, int[] coord, int[] tabTaillesBateaux) { if (Grille.EtreVide(grilleMissile, coord)) { //il n'y a pas de bateaux à coord if (Grille.EtreVide(grilleBateaux, coord)) { grilleMissile[coord[0], coord[1]] = 1; return(0); } else { grilleMissile[coord[0], coord[1]] = 2; //Bateau touché non coulé //on décremente le nombre de case occupé par le bateau touché tabToucheBateaux[grilleBateaux[coord[0], coord[1]] - 1] -= 1; if (tabToucheBateaux[grilleBateaux[coord[0], coord[1]] - 1] == 0) { TransformerToucheEnCoule(grilleBateaux, grilleMissile, coord, tabTaillesBateaux); } return(grilleBateaux[coord[0], coord[1]]); } } else { return(-1); } }