Class: GrilleUI
- Inherits:
-
Gtk::DrawingArea
- Object
- Gtk::DrawingArea
- GrilleUI
- Defined in:
- lib/Hashiparmentier/UI/GrilleUI.rb
Overview
- Auteur
-
Brabant Mano
- Version
-
0.1
- Date
-
09/04/2020
Cette classe permet d’afficher une grille de hashi
Direct Known Subclasses
Instance Attribute Summary collapse
-
#grille ⇒ Object
Returns the value of attribute grille.
Instance Method Summary collapse
-
#getCase(i, j) ⇒ Object
- 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).
-
-
#initialize(grille, taille = 40) ⇒ GrilleUI
constructor
- 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).
-
-
#on_draw ⇒ Object
Cette méthode permet de dessiner la grille Appelé automatique en la connectant au signal “draw”.
-
#recommencer ⇒ Object
Cette méthode permet de réinitialiser le grille que l’on affiche.
-
#sauvegarder(compte) ⇒ Object
- Cette méthode permet de sauvegarder la grille que l’on est en train d’afficher param
-
compte Le compte auquel associer la sauvegarde.
-
-
#sortLimite?(i, j) ⇒ Boolean
- 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.
-
Constructor Details
#initialize(grille, taille = 40) ⇒ GrilleUI
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)
26 27 28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'lib/Hashiparmentier/UI/GrilleUI.rb', line 26 def initialize(grille, taille = 40) super() @grille = grille @taille = taille init() signal_connect "draw" do on_draw() end end |
Instance Attribute Details
#grille ⇒ Object
Returns the value of attribute grille.
19 20 21 |
# File 'lib/Hashiparmentier/UI/GrilleUI.rb', line 19 def grille @grille end |
Instance Method Details
#getCase(i, j) ⇒ Object
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)
82 83 84 |
# File 'lib/Hashiparmentier/UI/GrilleUI.rb', line 82 def getCase(i, j) return @mat[i][j] end |
#on_draw ⇒ Object
Cette méthode permet de dessiner la grille Appelé automatique en la connectant au signal “draw”
101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/Hashiparmentier/UI/GrilleUI.rb', line 101 def on_draw() draw(self.window) @mat.each do |l| l.each do |c| c.draw(self.window) end end self.queue_draw() end |
#recommencer ⇒ Object
Cette méthode permet de réinitialiser le grille que l’on affiche
136 137 138 |
# File 'lib/Hashiparmentier/UI/GrilleUI.rb', line 136 def recommencer() @grille.recommencer() end |
#sauvegarder(compte) ⇒ Object
Cette méthode permet de sauvegarder la grille que l’on est en train d’afficher
- param
-
compte Le compte auquel associer la sauvegarde
130 131 132 |
# File 'lib/Hashiparmentier/UI/GrilleUI.rb', line 130 def sauvegarder(compte) @grille.sauvegarder(compte) end |
#sortLimite?(i, j) ⇒ Boolean
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
93 94 95 |
# File 'lib/Hashiparmentier/UI/GrilleUI.rb', line 93 def sortLimite?(i, j) return @grille.sortLimite?(i, j) end |