class DonnerTechnique
Auteur:: Brabant Mano Version:: 0.1 Date:: 09/04/2020
Cette classe permet de donner de l'aide pour résoudre une grille
Hérite de Aide
Public Class Methods
creer(grille)
click to toggle source
Ce constructeur permet de créer une nouvelle aide
- param
-
grille La grille sur laquelle on va donner des aides
-
# File Core/DonnerTechnique.rb, line 19 def DonnerTechnique.creer(grille) new(grille) end
Public Instance Methods
aider()
click to toggle source
L'aide apporté ici est une phrase qui indique des informations sur une ile qui peut poser de façon évidente des ponts
Par exemple une ile qui ne possède qu'un seul voisin
# File Core/DonnerTechnique.rb, line 33 def aider() archipelle = false cheminComplet = false cheminIncomplet = false for i in (0..@grille.tailleX - 1) for j in (0..@grille.tailleY - 1) cGrille = @grille.getCase(i, j) if(cGrille.estIle?()) capa = cGrille.getCapaciteResiduelle() nChemins = cGrille.getNombreCheminDisponible() nDirection = cGrille.getNombreDirectionConstructible() if(capa > 0) if(capa == nChemins) cheminComplet = true messageComplet = "Une ile doit encore placer " + capa.to_s() + " ponts et possède " + nChemins.to_s() + " ponts disponibles" elsif(capa == nChemins - 1 && nDirection <= capa) cheminIncomplet = true messageIncomplet = "Une ile doit encore placer " + capa.to_s() + " ponts et possède " + nChemins.to_s() + " ponts disponibles dans " + nDirection.to_s() + " directions possible" elsif(capa == 1) archipelle = true end end end end end if(cheminComplet) message = messageComplet elsif(cheminIncomplet) message = messageIncomplet elsif(archipelle) message = "Attention à ne pas former d'archipelle" else message ="Pas d'aide disponible" end return message + "\nAttention s'il y a une erreur dans la grille la technique peut-être érronée" end