Class: CaseUI

Inherits:
Gtk::DrawingArea
  • Object
show all
Defined in:
lib/Hashiparmentier/UI/CaseUI.rb

Overview

Auteur

Brabant Mano

Version

0.1

Date

09/04/2020

Cette classe permet d’afficher une case de la grille

Direct Known Subclasses

IleUI, PontUI

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(casee, taille = 40) ⇒ CaseUI

:nodoc:



29
30
31
32
33
34
35
# File 'lib/Hashiparmentier/UI/CaseUI.rb', line 29

def initialize(casee, taille = 40)

  super()
  @casee = casee
  @taille = taille

end

Instance Attribute Details

#caseeObject (readonly)

Returns the value of attribute casee.



15
16
17
# File 'lib/Hashiparmentier/UI/CaseUI.rb', line 15

def casee
  @casee
end

Class Method Details

.creer(casee, taille = 40) ⇒ Object

Ce constructeur permet de créer un nouveau afficheur de case

param
  • casee La case à afficher

  • taille La taille d’une case (en pixels)



24
25
26
# File 'lib/Hashiparmentier/UI/CaseUI.rb', line 24

def CaseUI.creer(casee, taille = 40)
  new(casee, taille)
end

Instance Method Details

#clickOnObject

Cette méthode permet de simuler le clic sur la case



40
41
42
# File 'lib/Hashiparmentier/UI/CaseUI.rb', line 40

def clickOn()
  @casee.clickOn()
end

#draw(window) ⇒ Object

Cette méthode permet d’afficher la case



46
47
48
49
50
51
52
53
54
55
56
# File 'lib/Hashiparmentier/UI/CaseUI.rb', line 46

def draw(window)

  cr = window.create_cairo_context

  taille = @taille/20

  cr.set_source_rgb(248/255.0, 236/255.0, 194/255.0)
  cr.rectangle(@taille * @casee.posY() + taille, @taille * @casee.posX() + taille, @taille - taille * 2, @taille - taille * 2)
  cr.fill()

end

#estIle?Boolean

Cette méthode permet de savoir si la case que l’on affiche est une ile

Returns:

  • (Boolean)


60
61
62
# File 'lib/Hashiparmentier/UI/CaseUI.rb', line 60

def estIle?()
  return @casee.estIle?()
end

#estPont?Boolean

Cette méthode permet de savoir si la case que l’on affiche est un pont

Returns:

  • (Boolean)


66
67
68
# File 'lib/Hashiparmentier/UI/CaseUI.rb', line 66

def estPont?()
  return @casee.estPont?()
end