Class: RacineUI

Inherits:
Gtk::Box
  • Object
show all
Defined in:
lib/Hashiparmentier/UI/RacineUI.rb

Overview

PAS UTILISE DANS LE VERSION FINALE

Auteur

Brabant Mano

Version

0.1

Date

09/04/2020

Cette classe permet de gérer le déroulement (et l’affichage) du jeu C’est le widget à ajjouter à la fenetre principale Elle possède une ensemble de méthode qui permette de passer d’une page à une autre

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeRacineUI

:nodoc:



27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/Hashiparmentier/UI/RacineUI.rb', line 27

def initialize()

  super(:vertical, 10)

  @retourMenu = Gtk::Button.new(:label => "Retour menu") #Bouton temporaire de test
  @retourMenu.signal_connect "clicked" do
    retourMenu()
  end

  @quitter = Gtk::Button.new(:label => "Quitter") #Bouton temporaire de test
  @quitter.signal_connect "clicked" do
    if(!@jeu.eql?(nil))
      @jeu.sauvegardeGrille() #On sauvegarde la grille si on était en pleine partie
    end
    Gtk.main_quit
  end

  @boutons = Gtk::Box.new(:horizontal)
  @boutons.pack_start(@quitter)
  @boutons.pack_start(@retourMenu)

  retourMenu()

  show_all

end

Instance Attribute Details

#grillesObject (readonly)

Returns the value of attribute grilles.



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

def grilles
  @grilles
end

Instance Method Details

#choisirGrille(nomCompte, taille, difficulte) ⇒ Object

Cette méthode permet d’afficher un ChoixGrilleScrollUI Elle supprime tous les child de la RacineUI et ajoute le ChoixGrilleScrollUI

param
  • nomCompte Le nom du compte pour lequel on va chercher les grilles

  • taille La taille des grilles à aller chercher

  • difficulte La difficulté des grilles à aller chercher



62
63
64
65
66
67
68
69
70
71
72
73
# File 'lib/Hashiparmentier/UI/RacineUI.rb', line 62

def choisirGrille(nomCompte, taille, difficulte)
  #puts "dans choisirGrille"
  @choix = ChoixGrilleScrollUI.new(ChoixGrilleUI.new(self))
  @choix.chargerGrille(nomCompte, taille, difficulte)

  removeChild()

  pack_start(@choix, :expand => true, :fill => true)
  pack_start(@boutons)
  show_all

end

#commencerPartie(grille, nomCompte) ⇒ Object

Cette méthode permet d’afficher un JeuUI Elle supprime tous les child de la RacineUI et ajoute le JeuUI

param
  • grille La grille avec laquelle on va jouer

  • nomCompte Le nom du compte qui va jouer



82
83
84
85
86
87
88
89
90
91
92
93
# File 'lib/Hashiparmentier/UI/RacineUI.rb', line 82

def commencerPartie(grille, nomCompte)

  @jeu = JeuUI.new(self)
  @jeu.chargerGrille(grille, nomCompte)

  removeChild()

  pack_start(@jeu, :expand => true, :fill => true)
  pack_start(@boutons)
  show_all

end

#finirPartie(taille = 7, difficulte = 0) ⇒ Object

Cette méthode permet d’afficher un FinUI Elle supprime tous les child de la RacineUI et ajoute la FinUI

param
  • taille La taille de la grille que l’on vient de finir

  • difficulte La difficulte de la grille que l’on vient de finir

Les paramètres taille et difficulte ne sont pas obligatoires



102
103
104
105
106
107
108
109
110
111
112
113
# File 'lib/Hashiparmentier/UI/RacineUI.rb', line 102

def finirPartie(taille = 7, difficulte = 0)

  @fin = FinUI.new(self)
  @fin.reussi(taille, difficulte)

  removeChild()

  pack_start(@fin, :expand => true, :fill => true)
  pack_start(@boutons)
  show_all

end

#removeChildObject

Cette méthode permet de supprimer tous les child de la RacineUI



136
137
138
139
140
# File 'lib/Hashiparmentier/UI/RacineUI.rb', line 136

def removeChild
  each_all do |c|
    remove(c)
  end
end

#retourMenuObject

Cette méthode permet d’afficher un MenuUI Elle supprime tous les child de la RacineUI et ajoute la MenuUI



118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
# File 'lib/Hashiparmentier/UI/RacineUI.rb', line 118

def retourMenu()

  @menu = Menu.new(self)

  if(!@jeu.eql?(nil))
    @jeu.sauvegardeGrille() #On sauvegarde la grille si on était en pleine partie
  end
  @menu.retourMenu()

  removeChild()

  pack_start(@menu, :expand => true, :fill => true)
  show_all

end