}else{//Si i n'est pas modulo 11 cela veut dire qu'on est dans la partie jouable de la grille.
if(i%11==1){//donc si i modulo 11 est égal à 1 cela veut dire que nous somme sur la colonne de droite, donc nous allons réinitialiser le tableaux lettre à la lettre A
}else{
if(i%11==1){
lettre='A';
if(i!=1)
chiffre++;//si i !=1 alors on ajoute aussi un chiffre car on change de ligne, si on ne met pas cette conditions la boucle viendra des la première ligne passer à 2.
chiffre++;
}
finalBouttonsboutton=newBouttons(newJButton(),lettre+String.valueOf(chiffre));//Maintenant on crée un Bouttons avec un new JButton et une concaténation de la lettre de la colonne plus de l'int de ligne.
boutton.getButton().setBackground(Color.WHITE);//On fait en sorte que le JButton qu'on à assigné au Bouttons est blanc pour l'esthétique
boutton.getButton().setEnabled(false);//On fait en sorte que le bouton soit désactiver quand il est créé.
bouttons[o]=boutton;//On fait en sorte que le Bouttons qu'on vient de créé soit ajouter à notre liste de Bouttons.
boutton.getButton().setBorder(BorderFactory.createLineBorder(Color.BLACK));//On set les Border en noir
//On créé l'action Listener qui va nous permettre de créer nos bateaux.
boutton.getButton().addActionListener(e->{
if(co[0]==null){//Si quand on clique sur un Boutton et que co[0] est null alors c'est la première coordonées d'un bateaux
co[0]=boutton.getString();// Donc on fait en sorte que la string de la coordonéé du bouton sur lequel on a cliqué soit assigné à co[0]
boutton.getButton().setBackground(Color.LIGHT_GRAY);// On colore le bouton en gris pour faire en sorte de se répérer sur la grille
}else{// Si co[0] n'est pas null alors cela veut dire que l'utilisateur clique pour la deuxième fois.].
co[1]=boutton.getString();//donc on assigne les coordonées du deuxième click à co[1
finalCreationBc=newCreationB(co[0],co[1],pays);//à partir de la on crée une classe qui va nous permettre de tester la taille des coordonées por créer le bon bateau.
try{if(c.TestCreation()!=null){//Si le résultat du return de test création n'est pas null
if(flotte.add(c.TestCreation())==0){//Si le résultat du Test Création est 0 alors le bateaux a bien été ajouté.
ShipCategorys=c.TestCreation().gettheCategory();//Maintenant on récupère la catégorie du Bateau qu'on vient de créer
if(s==ShipCategory.SUBMARINE){
pays[0]--;
}if(s==ShipCategory.DESTROYER){
pays[1]--;
}if(s==ShipCategory.CRUISER){//Ici on va faire en sorte que notre liste de bateaux décrémente en fonction du type de bateaux qu'on a créé
pays[2]--;//C'est très important pour compter le nombre de bateaux restant pour l'utilisateurs.
}if(s==ShipCategory.BATTLESHIP){
pays[3]--;
}if(s==ShipCategory.AIRCRAFT_CARRIER){
pays[4]--;
}
System.out.println(Arrays.toString(pays));//On print à l'utilisateur ce qui lui reste comme Bateau
System.out.println(flotte.getShips());//On print à l'utilisateur sa flotte.
List<ICoord>listec=c.TestCreation().getCoords();//on créé une liste de coordonée qui va récup les coordonées du bateaux qu'on vient de créer
finalColorrandomColor=newColor((int)(Math.random()*(255-50)),(int)(Math.random()*(255-50)),(int)(Math.random()*(255-50)));//on initialise une couleur rgb aléatoire.
for(inti1=0;i1<100;i1++){//On fait un parcours de la liste de boutons pour savoir ou il faut colorer les cases correspondant au bateau qu'on a créé.
if(listec.contains(newCoord(bouttons[i1].getString()))){//on vérifie si le bouton sur lequel on est correspond à un de ceux de la liste de coordonées du bateaux.
bouttons[i1].getButton().setBackground(randomColor);//maintenant on fait en sorte que le bateau soit de la couleur aléatoire initialisé plus tôt
bouttons[i1].getButton().setEnabled(false);// Maintenant on désactive les bouttons sur lesquels sont positionnés les bateaux.
}elseif(flotte.add(c.TestCreation())==-2){//Si le résultat de la création du bateaux est -2 cela signigie qu'on dépasse le seuil de case pour la flotte.
JOptionPane.showMessageDialog(null,"Flotte déja pleine");// donc on fait apparaitre un pop-up
for(inti1=0;i1<100;i1++){//On fait un parcours de la liste de boutons pour pouvoir remettre une couleur blanche sur le premier bouton sur lequel on a cliqué