Class: GrilleUI

Inherits:
Gtk::DrawingArea
  • Object
show all
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

GrilleJouableUI

Instance Attribute Summary collapse

Instance Method Summary collapse

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

#grilleObject

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_drawObject

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

#recommencerObject

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

Returns:

  • (Boolean)


93
94
95
# File 'lib/Hashiparmentier/UI/GrilleUI.rb', line 93

def sortLimite?(i, j)
  return @grille.sortLimite?(i, j)
end