Class: SCell
Overview
Classe pour la technique 'Single Cell'.
Class Method Summary collapse
-
.creer ⇒ Object
Constructeur de la classe SCell.
Instance Method Summary collapse
-
#combienEtape ⇒ Object
Retourne le nombre d'étapes pour faire la technique.
-
#etape(n) ⇒ Object
Retourne les étapes pour faire la technique.
-
#solution(grille) ⇒ Object
Recherche une solution pour la technique utilisée.
Class Method Details
.creer ⇒ Object
Constructeur de la classe SCell
16 17 18 |
# File 'app/utils/SCell.rb', line 16 def SCell.creer() new() end |
Instance Method Details
#combienEtape ⇒ Object
Retourne le nombre d'étapes pour faire la technique
50 51 52 |
# File 'app/utils/SCell.rb', line 50 def combienEtape() return 2 end |
#etape(n) ⇒ Object
Retourne les étapes pour faire la technique
61 62 63 64 65 66 67 68 69 70 71 |
# File 'app/utils/SCell.rb', line 61 def etape(n) case(n) when 1 return "Bienvenue sur l'explication de la technique "+self.class.to_s+"." when 2 return "Recherchez les candidats possibles pour chaque case. Remarquez que dans certaines, il n'y a qu'un seul candidat possible." end return nil end |
#solution(grille) ⇒ Object
Recherche une solution pour la technique utilisée
27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'app/utils/SCell.rb', line 27 def solution(grille) grilleIndice = indice(grille) [0,1,2,3,4,5,6,7,8].sort_by{rand}.each { |x| [0,1,2,3,4,5,6,7,8].sort_by{rand}.each { |y| cpt = 0 grilleIndice[x][y].each_value{|v| if v then cpt+=1 end} if cpt == 1 then grilleIndice[x][y].each{ |key,value| if value then return [x,y,key] end } end } } return nil end |