class GrilleUI
Auteur:: Brabant Mano Version:: 0.1 Date:: 09/04/2020
Cette classe permet d'afficher une grille de hashi
Attributes
@grille => La grile avec laquelle on joue
Public Class Methods
Ce constructeur permet de créer un nouveau afficheur de grille
- param
-
grille La grille que l'on veut afficher
-
taille La taille des cases de la grille (40 par default)
-
# File UI/GrilleUI.rb, line 26 def initialize(grille, taille = 40) super() @grille = grille @mat = Array.new(@grille.tailleX()) { Array.new(@grille.tailleY()) } @taille = taille init() signal_connect "draw" do on_draw() end end
Public Instance Methods
Cette méthode permet de retourner une case à une position donnée
- param
-
i La position en abscisse
-
j La position en ordonnée
-
- return
-
La case à la position (i, j)
-
# File UI/GrilleUI.rb, line 82 def getCase(i, j) return @mat[i][j] end
Cette méthode permet de modifier la grille que l'on affiche Méthode utilisé par la suppression d'hypothèses
- param
-
grille La nouvelle grille à afficher
-
# File UI/GrilleUI.rb, line 67 def grille=(grille) @grille = grille init() end
Cette méthode permet de dessiner la grille Appelé automatique en la connectant au signal “draw”
# File UI/GrilleUI.rb, line 105 def on_draw() draw(self.window) @mat.each do |l| l.each do |c| c.draw(self.window) end end self.queue_draw() end
Cette méthode permet de réinitialiser le grille que l'on affiche
# File UI/GrilleUI.rb, line 142 def recommencer() @grille.recommencer() end
Cette méthode permet de sauvegarder la grille que l'on est en train d'afficher
- param
-
compte Le compte auquel associer la sauvegarde
-
# File UI/GrilleUI.rb, line 134 def sauvegarder(compte) @grille.sauvegarder(compte) end
Cette méthode permet de savoir si une position donnée est dans les limites de la grille
- param
-
i La position en abscisse
-
j La position en ordonnée
-
- return
-
true si les coordonnées sont en dehors de la grille, false sinon
-
# File UI/GrilleUI.rb, line 95 def sortLimite?(i, j) return @grille.sortLimite?(i, j) end