Class: DonnerTechnique
- Defined in:
- lib/Hashiparmentier/Core/DonnerTechnique.rb
Overview
- 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
Instance Attribute Summary
Attributes inherited from Aide
Class Method Summary collapse
-
.creer(grille) ⇒ Object
- Ce constructeur permet de créer une nouvelle aide param
-
grille La grille sur laquelle on va donner des aides.
-
Instance Method Summary collapse
-
#aider ⇒ Object
L’aide apporté ici est une phrase qui indique des informations sur une ile qui peut poser de façon évidente des ponts.
-
#initialize(grille) ⇒ DonnerTechnique
constructor
:nodoc:.
Constructor Details
#initialize(grille) ⇒ DonnerTechnique
:nodoc:
24 25 26 |
# File 'lib/Hashiparmentier/Core/DonnerTechnique.rb', line 24 def initialize(grille) super(grille) end |
Class Method Details
.creer(grille) ⇒ Object
Ce constructeur permet de créer une nouvelle aide
- param
-
grille La grille sur laquelle on va donner des aides
19 20 21 |
# File 'lib/Hashiparmentier/Core/DonnerTechnique.rb', line 19 def DonnerTechnique.creer(grille) new(grille) end |
Instance Method Details
#aider ⇒ Object
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
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/Hashiparmentier/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) #Alors le placement est évident cheminComplet = true = "Une ile doit encore placer " + capa.to_s() + " ponts et possède " + nChemins.to_s() + " ponts disponibles" elsif(capa == nChemins - 1 && nDirection <= capa) #On peut placer un pont simple dans (capa - nDirection + 1) directions cheminIncomplet = true = "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) = elsif(cheminIncomplet) = elsif(archipelle) = "Attention à ne pas former d'archipelle" else ="Pas d'aide disponible" end return + "\nAttention s'il y a une erreur dans la grille la technique peut-être erronée" end |