Hashiparmentier 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/bin/Hashiparmentier +3 -0
- data/launcher.command +3 -0
- data/lib/Hashiparmentier.rb +8 -0
- data/lib/Hashiparmentier/BDD/BDDDPQADSAHASHIPARMENTIER.db +0 -0
- data/lib/Hashiparmentier/BDD/Base.sqlite +0 -0
- data/lib/Hashiparmentier/Base.sqlite +0 -0
- data/lib/Hashiparmentier/CSS/Style.rb +184 -0
- data/lib/Hashiparmentier/Core/Action.rb +48 -0
- data/lib/Hashiparmentier/Core/Aide.rb +28 -0
- data/lib/Hashiparmentier/Core/Case.rb +92 -0
- data/lib/Hashiparmentier/Core/Chrono.rb +96 -0
- data/lib/Hashiparmentier/Core/Compte.rb +137 -0
- data/lib/Hashiparmentier/Core/ConnectSqlite3.rb +19 -0
- data/lib/Hashiparmentier/Core/Couleur.rb +94 -0
- data/lib/Hashiparmentier/Core/DonnerTechnique.rb +70 -0
- data/lib/Hashiparmentier/Core/Grille.rb +804 -0
- data/lib/Hashiparmentier/Core/Hypothese.rb +43 -0
- data/lib/Hashiparmentier/Core/Ile.rb +330 -0
- data/lib/Hashiparmentier/Core/Jeu.rb +177 -0
- data/lib/Hashiparmentier/Core/Pile.rb +85 -0
- data/lib/Hashiparmentier/Core/Pont.rb +300 -0
- data/lib/Hashiparmentier/Core/Sauvegarde.rb +176 -0
- data/lib/Hashiparmentier/Core/UndoRedo.rb +93 -0
- data/lib/Hashiparmentier/Core/VerifierGrille.rb +51 -0
- data/lib/Hashiparmentier/Data/Golden Bridge.jpg +0 -0
- data/lib/Hashiparmentier/Data/Pont Gaulois.jpg +0 -0
- data/lib/Hashiparmentier/Data/Zubi Zuri.jpg +0 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1010-0-001.txt +12 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1010-0-002.txt +12 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1010-0-003.txt +12 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1010-1-001.txt +12 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1010-1-002.txt +12 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1010-1-003.txt +12 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1010-2-001.txt +12 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1010-2-002.txt +12 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1010-2-003.txt +12 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1515-0-001.txt +17 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1515-0-002.txt +17 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1515-0-003.txt +17 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1515-1-001.txt +17 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1515-1-002.txt +17 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1515-1-003.txt +17 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1515-2-001.txt +17 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1515-2-002.txt +17 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-1515-2-003.txt +17 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-77-0-001.txt +9 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-77-0-002.txt +9 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-77-0-003.txt +9 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-77-1-001.txt +9 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-77-1-002.txt +9 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-77-1-003.txt +9 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-77-2-001.txt +9 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-77-2-002.txt +9 -0
- data/lib/Hashiparmentier/NouvellesGrilles/map-77-2-003.txt +9 -0
- data/lib/Hashiparmentier/Test/Gemfile +3 -0
- data/lib/Hashiparmentier/Test/MajBDDGrille.rb +10 -0
- data/lib/Hashiparmentier/Test/NotAMalwareDefinitiveEdition +3 -0
- data/lib/Hashiparmentier/Test/NotAMalwareDefinitiveEdition~ +2 -0
- data/lib/Hashiparmentier/Test/NotAMalware~ +2 -0
- data/lib/Hashiparmentier/Test/TestChargerGrille.rb +7 -0
- data/lib/Hashiparmentier/Test/TestCompte.rb +51 -0
- data/lib/Hashiparmentier/Test/TestFenetre.rb +10 -0
- data/lib/Hashiparmentier/Test/TestGrille.rb +27 -0
- data/lib/Hashiparmentier/Test/TestJeu.rb +47 -0
- data/lib/Hashiparmentier/Test/TestPont.rb +73 -0
- data/lib/Hashiparmentier/Test/TestSauvegarde.rb +53 -0
- data/lib/Hashiparmentier/Test/execLinux.sh +8 -0
- data/lib/Hashiparmentier/Test/icone/Custom-Icon-Design-2014-World-Cup-Flags-Japan.ico +0 -0
- data/lib/Hashiparmentier/Test/test.bat +1 -0
- data/lib/Hashiparmentier/Test/testExec +2 -0
- data/lib/Hashiparmentier/Test/testTestExec.rb +3 -0
- data/lib/Hashiparmentier/UI/AideJeuUI.rb +22 -0
- data/lib/Hashiparmentier/UI/AideUI.rb +22 -0
- data/lib/Hashiparmentier/UI/AstucesUI.rb +23 -0
- data/lib/Hashiparmentier/UI/CaseUI.rb +70 -0
- data/lib/Hashiparmentier/UI/ChoixDifficulteUI.rb +45 -0
- data/lib/Hashiparmentier/UI/ChoixGrilleScrollUI.rb +37 -0
- data/lib/Hashiparmentier/UI/ChoixGrilleUI.rb +80 -0
- data/lib/Hashiparmentier/UI/ChoixNomUI.rb +39 -0
- data/lib/Hashiparmentier/UI/ChoixTailleUI.rb +44 -0
- data/lib/Hashiparmentier/UI/Fenetre.rb +32 -0
- data/lib/Hashiparmentier/UI/FenetreFinUI.rb +71 -0
- data/lib/Hashiparmentier/UI/FenetreJeuUI.rb +193 -0
- data/lib/Hashiparmentier/UI/FenetreReglesUI.rb +28 -0
- data/lib/Hashiparmentier/UI/FinUI.rb +91 -0
- data/lib/Hashiparmentier/UI/GrilleJouableUI.rb +47 -0
- data/lib/Hashiparmentier/UI/GrilleUI.rb +140 -0
- data/lib/Hashiparmentier/UI/IleUI.rb +87 -0
- data/lib/Hashiparmentier/UI/JeuUI.rb +161 -0
- data/lib/Hashiparmentier/UI/Menu.rb +322 -0
- data/lib/Hashiparmentier/UI/MenuUI.rb +107 -0
- data/lib/Hashiparmentier/UI/PontUI.rb +135 -0
- data/lib/Hashiparmentier/UI/RacineUI.rb +142 -0
- data/lib/Hashiparmentier/UI/ReglesUI.rb +22 -0
- data/lib/Hashiparmentier/doc/Action.html +259 -0
- data/lib/Hashiparmentier/doc/Aide.html +229 -0
- data/lib/Hashiparmentier/doc/AideUI.html +168 -0
- data/lib/Hashiparmentier/doc/Case.html +473 -0
- data/lib/Hashiparmentier/doc/CaseUI.html +343 -0
- data/lib/Hashiparmentier/doc/ChoixDifficulteUI.html +209 -0
- data/lib/Hashiparmentier/doc/ChoixGrilleScrollUI.html +239 -0
- data/lib/Hashiparmentier/doc/ChoixGrilleUI.html +276 -0
- data/lib/Hashiparmentier/doc/ChoixNomUI.html +215 -0
- data/lib/Hashiparmentier/doc/ChoixTailleUI.html +210 -0
- data/lib/Hashiparmentier/doc/Chrono.html +420 -0
- data/lib/Hashiparmentier/doc/Compte.html +514 -0
- data/lib/Hashiparmentier/doc/Couleur.html +422 -0
- data/lib/Hashiparmentier/doc/DonnerTechnique.html +245 -0
- data/lib/Hashiparmentier/doc/Fenetre.html +179 -0
- data/lib/Hashiparmentier/doc/FenetreJeuUI.html +274 -0
- data/lib/Hashiparmentier/doc/FenetreReglesUI.html +167 -0
- data/lib/Hashiparmentier/doc/FinUI.html +274 -0
- data/lib/Hashiparmentier/doc/Grille.html +2153 -0
- data/lib/Hashiparmentier/doc/GrilleJouableUI.html +229 -0
- data/lib/Hashiparmentier/doc/GrilleUI.html +477 -0
- data/lib/Hashiparmentier/doc/Hypothese.html +248 -0
- data/lib/Hashiparmentier/doc/Ile.html +1103 -0
- data/lib/Hashiparmentier/doc/IleUI.html +244 -0
- data/lib/Hashiparmentier/doc/Jeu.html +179 -0
- data/lib/Hashiparmentier/doc/JeuUI.html +471 -0
- data/lib/Hashiparmentier/doc/Menu.html +667 -0
- data/lib/Hashiparmentier/doc/MenuUI.html +416 -0
- data/lib/Hashiparmentier/doc/Pile.html +383 -0
- data/lib/Hashiparmentier/doc/Pont.html +943 -0
- data/lib/Hashiparmentier/doc/PontUI.html +307 -0
- data/lib/Hashiparmentier/doc/RacineUI.html +387 -0
- data/lib/Hashiparmentier/doc/ReglesUI.html +203 -0
- data/lib/Hashiparmentier/doc/Sauvegarde.html +672 -0
- data/lib/Hashiparmentier/doc/UndoRedo.html +389 -0
- data/lib/Hashiparmentier/doc/VerifierGrille.html +225 -0
- data/lib/Hashiparmentier/doc/created.rid +46 -0
- data/lib/Hashiparmentier/doc/css/fonts.css +167 -0
- data/lib/Hashiparmentier/doc/css/rdoc.css +590 -0
- data/lib/Hashiparmentier/doc/fonts/Lato-Light.ttf +0 -0
- data/lib/Hashiparmentier/doc/fonts/Lato-LightItalic.ttf +0 -0
- data/lib/Hashiparmentier/doc/fonts/Lato-Regular.ttf +0 -0
- data/lib/Hashiparmentier/doc/fonts/Lato-RegularItalic.ttf +0 -0
- data/lib/Hashiparmentier/doc/fonts/SourceCodePro-Bold.ttf +0 -0
- data/lib/Hashiparmentier/doc/fonts/SourceCodePro-Regular.ttf +0 -0
- data/lib/Hashiparmentier/doc/images/add.png +0 -0
- data/lib/Hashiparmentier/doc/images/arrow_up.png +0 -0
- data/lib/Hashiparmentier/doc/images/brick.png +0 -0
- data/lib/Hashiparmentier/doc/images/brick_link.png +0 -0
- data/lib/Hashiparmentier/doc/images/bug.png +0 -0
- data/lib/Hashiparmentier/doc/images/bullet_black.png +0 -0
- data/lib/Hashiparmentier/doc/images/bullet_toggle_minus.png +0 -0
- data/lib/Hashiparmentier/doc/images/bullet_toggle_plus.png +0 -0
- data/lib/Hashiparmentier/doc/images/date.png +0 -0
- data/lib/Hashiparmentier/doc/images/delete.png +0 -0
- data/lib/Hashiparmentier/doc/images/find.png +0 -0
- data/lib/Hashiparmentier/doc/images/loadingAnimation.gif +0 -0
- data/lib/Hashiparmentier/doc/images/macFFBgHack.png +0 -0
- data/lib/Hashiparmentier/doc/images/package.png +0 -0
- data/lib/Hashiparmentier/doc/images/page_green.png +0 -0
- data/lib/Hashiparmentier/doc/images/page_white_text.png +0 -0
- data/lib/Hashiparmentier/doc/images/page_white_width.png +0 -0
- data/lib/Hashiparmentier/doc/images/plugin.png +0 -0
- data/lib/Hashiparmentier/doc/images/ruby.png +0 -0
- data/lib/Hashiparmentier/doc/images/tag_blue.png +0 -0
- data/lib/Hashiparmentier/doc/images/tag_green.png +0 -0
- data/lib/Hashiparmentier/doc/images/transparent.png +0 -0
- data/lib/Hashiparmentier/doc/images/wrench.png +0 -0
- data/lib/Hashiparmentier/doc/images/wrench_orange.png +0 -0
- data/lib/Hashiparmentier/doc/images/zoom.png +0 -0
- data/lib/Hashiparmentier/doc/index.html +154 -0
- data/lib/Hashiparmentier/doc/js/darkfish.js +161 -0
- data/lib/Hashiparmentier/doc/js/jquery.js +4 -0
- data/lib/Hashiparmentier/doc/js/navigation.js +141 -0
- data/lib/Hashiparmentier/doc/js/navigation.js.gz +0 -0
- data/lib/Hashiparmentier/doc/js/search.js +109 -0
- data/lib/Hashiparmentier/doc/js/search_index.js +1 -0
- data/lib/Hashiparmentier/doc/js/search_index.js.gz +0 -0
- data/lib/Hashiparmentier/doc/js/searcher.js +229 -0
- data/lib/Hashiparmentier/doc/js/searcher.js.gz +0 -0
- data/lib/Hashiparmentier/doc/table_of_contents.html +1197 -0
- data/lib/Hashiparmentier/glade/Fin.glade +222 -0
- data/lib/Hashiparmentier/glade/aide.glade +127 -0
- data/lib/Hashiparmentier/glade/aideJeu.glade +143 -0
- data/lib/Hashiparmentier/glade/astuces.glade +1558 -0
- data/lib/Hashiparmentier/glade/fonts/VINERITC.TTF +0 -0
- data/lib/Hashiparmentier/glade/images/18790.ico +0 -0
- data/lib/Hashiparmentier/glade/images/1stars.png +0 -0
- data/lib/Hashiparmentier/glade/images/2stars.png +0 -0
- data/lib/Hashiparmentier/glade/images/3stars.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-07 11-48-54.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 17-54-16.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-00-00.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-01-25.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-17-16.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-17-40.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-18-01.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-18-23.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-19-00.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-19-17.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-13 18-19-54.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-24-24.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-24-44.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-24-58.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-25-16.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-25-36.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-25-51.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-26-04.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 14-26-15.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-01-40.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-02-08.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-02-33.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-02-54.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-03-13.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-03-39.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-03-55.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-04-10.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-33-07.png +0 -0
- data/lib/Hashiparmentier/glade/images/Capture du 2020-02-18 15-36-05.png +0 -0
- data/lib/Hashiparmentier/glade/images/LOGO.png +0 -0
- data/lib/Hashiparmentier/glade/images/LOGpR.png +0 -0
- data/lib/Hashiparmentier/glade/images/LOGpR2.png +0 -0
- data/lib/Hashiparmentier/glade/images/bg.jpg +0 -0
- data/lib/Hashiparmentier/glade/images/ex111.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex112.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex211.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex212.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex221.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex222.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex231.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex232.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex241.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex242.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex251.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex252.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex311.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex312.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex321.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex322.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex331.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex332.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex341.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex342.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex411.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex412.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex413.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex421.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex422.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex423.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex431.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex432.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex433.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex441.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex442.png +0 -0
- data/lib/Hashiparmentier/glade/images/ex443.png +0 -0
- data/lib/Hashiparmentier/glade/images/icone.png +0 -0
- data/lib/Hashiparmentier/glade/images/puzzle-solvation.gif +0 -0
- data/lib/Hashiparmentier/glade/images/wJapStylePlusNet.jpg +0 -0
- data/lib/Hashiparmentier/glade/images/wJapStylePlusNet15.jpg +0 -0
- data/lib/Hashiparmentier/glade/jeu.glade +539 -0
- data/lib/Hashiparmentier/glade/menu.glade +511 -0
- data/lib/Hashiparmentier/glade/regles.glade +856 -0
- data/lib/Hashiparmentier/map.txt +316 -0
- metadata +347 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
require_relative '../CSS/Style.rb'
|
|
2
|
+
|
|
3
|
+
class AideUI
|
|
4
|
+
|
|
5
|
+
def initialize()
|
|
6
|
+
@builderAide = Gtk::Builder.new
|
|
7
|
+
@builderAide.add_from_file("lib/Hashiparmentier/glade/aide.glade")
|
|
8
|
+
|
|
9
|
+
@window = @builderAide.get_object("windowAide")
|
|
10
|
+
|
|
11
|
+
@window.signal_connect('destroy') { |_widget| Gtk.main_quit }
|
|
12
|
+
@window.style_context.add_provider(@@CSS_AIDE, Gtk::StyleProvider::PRIORITY_USER)
|
|
13
|
+
|
|
14
|
+
@btnQuitter = @builderAide.get_object("btnQuitter")
|
|
15
|
+
@btnQuitter.signal_connect('clicked') { |_widget| @window.destroy() }
|
|
16
|
+
@btnQuitter.style_context.add_provider(@@CSS_BUTTON_ROSE, Gtk::StyleProvider::PRIORITY_USER)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
@window.show_all()
|
|
20
|
+
Gtk.main()
|
|
21
|
+
end
|
|
22
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
require_relative '../CSS/Style.rb'
|
|
2
|
+
|
|
3
|
+
class AstucesUI
|
|
4
|
+
|
|
5
|
+
def initialize()
|
|
6
|
+
@builderAide = Gtk::Builder.new
|
|
7
|
+
@builderAide.add_from_file("lib/Hashiparmentier/glade/astuces.glade")
|
|
8
|
+
|
|
9
|
+
@window = @builderAide.get_object("windowAstuces")
|
|
10
|
+
@window.maximize
|
|
11
|
+
|
|
12
|
+
@window.signal_connect('destroy') { |_widget| Gtk.main_quit }
|
|
13
|
+
@window.style_context.add_provider(@@CSS_ASTUCES, Gtk::StyleProvider::PRIORITY_USER)
|
|
14
|
+
|
|
15
|
+
@btnQuitter = @builderAide.get_object("btnQuitter")
|
|
16
|
+
@btnQuitter.signal_connect('clicked') { |_widget| @window.destroy() }
|
|
17
|
+
@btnQuitter.style_context.add_provider(@@CSS_BUTTON_ROSE, Gtk::StyleProvider::PRIORITY_USER)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
@window.show_all()
|
|
21
|
+
Gtk.main()
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
|
|
2
|
+
require_relative "../Core/Case.rb"
|
|
3
|
+
|
|
4
|
+
require "gtk3"
|
|
5
|
+
|
|
6
|
+
##
|
|
7
|
+
# Auteur:: Brabant Mano
|
|
8
|
+
# Version:: 0.1
|
|
9
|
+
# Date:: 09/04/2020
|
|
10
|
+
#
|
|
11
|
+
#Cette classe permet d'afficher une case de la grille
|
|
12
|
+
class CaseUI < Gtk::DrawingArea
|
|
13
|
+
|
|
14
|
+
#@casee => La case que l'on va afficher
|
|
15
|
+
attr_reader :casee
|
|
16
|
+
|
|
17
|
+
private_class_method :new
|
|
18
|
+
|
|
19
|
+
##
|
|
20
|
+
#Ce constructeur permet de créer un nouveau afficheur de case
|
|
21
|
+
#param::
|
|
22
|
+
# * casee La case à afficher
|
|
23
|
+
# * taille La taille d'une case (en pixels)
|
|
24
|
+
def CaseUI.creer(casee, taille = 40)
|
|
25
|
+
new(casee, taille)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
#:nodoc:
|
|
29
|
+
def initialize(casee, taille = 40)
|
|
30
|
+
|
|
31
|
+
super()
|
|
32
|
+
@casee = casee
|
|
33
|
+
@taille = taille
|
|
34
|
+
|
|
35
|
+
end
|
|
36
|
+
#:doc:
|
|
37
|
+
|
|
38
|
+
##
|
|
39
|
+
#Cette méthode permet de simuler le clic sur la case
|
|
40
|
+
def clickOn()
|
|
41
|
+
@casee.clickOn()
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
##
|
|
45
|
+
#Cette méthode permet d'afficher la case
|
|
46
|
+
def draw(window)
|
|
47
|
+
|
|
48
|
+
cr = window.create_cairo_context
|
|
49
|
+
|
|
50
|
+
taille = @taille/20
|
|
51
|
+
|
|
52
|
+
cr.set_source_rgb(248/255.0, 236/255.0, 194/255.0)
|
|
53
|
+
cr.rectangle(@taille * @casee.posY() + taille, @taille * @casee.posX() + taille, @taille - taille * 2, @taille - taille * 2)
|
|
54
|
+
cr.fill()
|
|
55
|
+
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
##
|
|
59
|
+
#Cette méthode permet de savoir si la case que l'on affiche est une ile
|
|
60
|
+
def estIle?()
|
|
61
|
+
return @casee.estIle?()
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
##
|
|
65
|
+
#Cette méthode permet de savoir si la case que l'on affiche est un pont
|
|
66
|
+
def estPont?()
|
|
67
|
+
return @casee.estPont?()
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
require 'gtk3'
|
|
5
|
+
|
|
6
|
+
##
|
|
7
|
+
# PAS UTILISE DANS LE VERSION FINALE
|
|
8
|
+
# Auteur:: Brabant Mano
|
|
9
|
+
# Version:: 0.1
|
|
10
|
+
# Date:: 09/04/2020
|
|
11
|
+
#
|
|
12
|
+
#Cette classe permet à l'utilisateur de choisir entre plusieurs difficulté
|
|
13
|
+
class ChoixDifficulteUI < Gtk::Box
|
|
14
|
+
|
|
15
|
+
attr_reader :menu
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
def initialize(menu)
|
|
19
|
+
|
|
20
|
+
super(:vertical, 0)
|
|
21
|
+
|
|
22
|
+
@menu = menu
|
|
23
|
+
@boutons = Gtk::Box.new(:horizontal, 0)
|
|
24
|
+
|
|
25
|
+
for i in [[0, 'Facile'], [1, 'Normal'], [2, 'Difficile']]
|
|
26
|
+
|
|
27
|
+
temp = Gtk::Button.new(:label => "#{i[1]}")
|
|
28
|
+
temp.name=i[0].to_s()
|
|
29
|
+
temp.signal_connect "clicked" do |widget, event|
|
|
30
|
+
@menu.difficulte=widget.name.to_i()
|
|
31
|
+
end
|
|
32
|
+
@boutons.pack_start(temp, :expand => true, :fill => true)
|
|
33
|
+
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
temp = Gtk::Box.new(:vertical, 0)
|
|
37
|
+
|
|
38
|
+
temp.pack_start(Gtk::Label.new("Difficulté de la grille"), :expand => true, :fill => true)
|
|
39
|
+
temp.pack_start(@boutons, :expand => true, :fill => true)
|
|
40
|
+
|
|
41
|
+
pack_start(temp, :expand => true, :fill => true)
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
require_relative "../UI/ChoixGrilleUI.rb"
|
|
5
|
+
require 'gtk3'
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# Auteur:: Brabant Mano
|
|
9
|
+
# Version:: 0.1
|
|
10
|
+
# Date:: 09/04/2020
|
|
11
|
+
#
|
|
12
|
+
#Cette classe permet de créer une barre de défilement pour un ChoixGrilleUI
|
|
13
|
+
class ChoixGrilleScrollUI < Gtk::ScrolledWindow
|
|
14
|
+
|
|
15
|
+
#@choixGrille => Le ChoixGrilleUI à faire défiler
|
|
16
|
+
attr_reader :choixGrille
|
|
17
|
+
|
|
18
|
+
##
|
|
19
|
+
#Ce constructeur permet de créer une nouvelle barre de défilement
|
|
20
|
+
#param::
|
|
21
|
+
# * grille Le ChoixGrilleUI à défiler
|
|
22
|
+
def initialize(grille)
|
|
23
|
+
|
|
24
|
+
super()
|
|
25
|
+
@choixGrille = grille
|
|
26
|
+
self.set_policy(Gtk::PolicyType::AUTOMATIC, Gtk::PolicyType::AUTOMATIC)
|
|
27
|
+
self.add_with_viewport(@choixGrille)
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
##
|
|
32
|
+
#Cette méthode permet d'appeler chargerGrille du ChoixGrilleUI
|
|
33
|
+
def chargerGrille(nomCompte, taille, difficulte)
|
|
34
|
+
@choixGrille.chargerGrille(nomCompte, taille, difficulte)
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
end
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
|
|
2
|
+
require_relative '../Core/Sauvegarde.rb'
|
|
3
|
+
require_relative '../Core/Compte.rb'
|
|
4
|
+
require_relative '../Core/ConnectSqlite3.rb'
|
|
5
|
+
|
|
6
|
+
require_relative '../UI/GrilleUI.rb'
|
|
7
|
+
require 'gtk3'
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
##
|
|
11
|
+
# Auteur:: Brabant Mano
|
|
12
|
+
# Version:: 0.1
|
|
13
|
+
# Date:: 09/04/2020
|
|
14
|
+
#
|
|
15
|
+
#Cette classe permet à l'utilisateur de choisir entre plusieurs grilles proposées
|
|
16
|
+
class ChoixGrilleUI < Gtk::Box
|
|
17
|
+
|
|
18
|
+
#@racine => L'objet auquel on va envoyer la grille que l'on a choisi (il doit definir commencerPartie(grille, nomCompte))
|
|
19
|
+
attr_reader :racine
|
|
20
|
+
|
|
21
|
+
##
|
|
22
|
+
#Ce constructeur permet de créer un nouveau ChoixGrilleUI
|
|
23
|
+
#param::
|
|
24
|
+
# * racine Un objet qui doit définir une méthode commencerPartie(grille, nomCompte) qui sera appelée quand l'utilisateur aura choisi une grille
|
|
25
|
+
def initialize(racine)
|
|
26
|
+
|
|
27
|
+
super(:vertical , 20)
|
|
28
|
+
@racine = racine
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
##
|
|
33
|
+
#Cette méthode permet de charger un ensemble de grille pour les montrer à l'utilisateur
|
|
34
|
+
#param::
|
|
35
|
+
# * nomcompte Le nom du compte dont-on va récuperer les grilles
|
|
36
|
+
# * taille La taille des grilles à récuperer
|
|
37
|
+
# * difficulte La difficulte des grilles à récuperer
|
|
38
|
+
def chargerGrille(nomCompte, taille, difficulte)
|
|
39
|
+
#puts "dans charger grille choixGRilleUI"
|
|
40
|
+
#puts "nomCompte", nomCompte,"taille", taille,"difficulte", difficulte
|
|
41
|
+
|
|
42
|
+
tailleCase = 40
|
|
43
|
+
|
|
44
|
+
liste = Sauvegarde.liste(Compte.recuperer_ou_creer(nomCompte), taille, difficulte)
|
|
45
|
+
|
|
46
|
+
box = Gtk::Box.new(:horizontal, 30)
|
|
47
|
+
liste.each_with_index do |s, i|
|
|
48
|
+
#puts "liste.each"
|
|
49
|
+
bouton = Gtk::Button.new(:label => "Réinitialiser")
|
|
50
|
+
temp = GrilleUI.new(s.getGrille(), tailleCase)
|
|
51
|
+
|
|
52
|
+
bouton.signal_connect "clicked" do |widget, event|
|
|
53
|
+
temp.grille().recommencer()
|
|
54
|
+
temp.grille().sauvegarder(Compte.recuperer(nomCompte))
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
temp.signal_connect "button-press-event" do
|
|
58
|
+
grilleChoisie(temp.grille(), nomCompte)
|
|
59
|
+
end
|
|
60
|
+
temp.add_events([:button_press_mask])
|
|
61
|
+
|
|
62
|
+
box.add(temp)
|
|
63
|
+
# box.add(bouton)
|
|
64
|
+
|
|
65
|
+
end
|
|
66
|
+
|
|
67
|
+
add(Gtk::Label.new("Veuillez choisir une grille"))
|
|
68
|
+
add(box)
|
|
69
|
+
|
|
70
|
+
show_all
|
|
71
|
+
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
private def grilleChoisie(grille, nomCompte)
|
|
76
|
+
@racine.commencerPartie(grille, nomCompte)
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
end
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
require 'gtk3'
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
##
|
|
8
|
+
# PAS UTILISE DANS LE VERSION FINALE
|
|
9
|
+
# Auteur:: Brabant Mano
|
|
10
|
+
# Version:: 0.1
|
|
11
|
+
# Date:: 09/04/2020
|
|
12
|
+
#
|
|
13
|
+
#Permet de choisir une nom
|
|
14
|
+
class ChoixNomUI < Gtk::Box
|
|
15
|
+
|
|
16
|
+
attr_reader :menu
|
|
17
|
+
attr_reader :entry
|
|
18
|
+
|
|
19
|
+
def initialize(menu)
|
|
20
|
+
|
|
21
|
+
super(:vertical, 0)
|
|
22
|
+
|
|
23
|
+
@menu = menu
|
|
24
|
+
|
|
25
|
+
@entry = Gtk::Entry.new()
|
|
26
|
+
@label = Gtk::Label.new("Prénom")
|
|
27
|
+
|
|
28
|
+
temp = Gtk::Box.new(:horizontal, 0)
|
|
29
|
+
|
|
30
|
+
temp.pack_start(Gtk::Alignment.new(0,0,0,0), :expand => true, :fill => true)
|
|
31
|
+
temp.pack_start(@label)
|
|
32
|
+
temp.pack_start(@entry, :fill => true)
|
|
33
|
+
temp.pack_start(Gtk::Alignment.new(0,0,0,0), :expand => true, :fill => true)
|
|
34
|
+
|
|
35
|
+
pack_start(temp, :expand => true, :fill => true)
|
|
36
|
+
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
require 'gtk3'
|
|
4
|
+
|
|
5
|
+
##
|
|
6
|
+
# PAS UTILISE DANS LE VERSION FINALE
|
|
7
|
+
# Auteur:: Brabant Mano
|
|
8
|
+
# Version:: 0.1
|
|
9
|
+
# Date:: 09/04/2020
|
|
10
|
+
#
|
|
11
|
+
#Permet de choisir une taille
|
|
12
|
+
class ChoixTailleUI < Gtk::Box
|
|
13
|
+
|
|
14
|
+
attr_reader :menu
|
|
15
|
+
|
|
16
|
+
def initialize(menu)
|
|
17
|
+
|
|
18
|
+
super(:vertical, 0)
|
|
19
|
+
|
|
20
|
+
@menu = menu
|
|
21
|
+
@boutons = Gtk::Box.new(:horizontal, 0)
|
|
22
|
+
|
|
23
|
+
for i in [7, 10, 15]
|
|
24
|
+
|
|
25
|
+
temp = Gtk::Button.new(:label => "#{i}*#{i}")
|
|
26
|
+
temp.name=i.to_s()
|
|
27
|
+
temp.signal_connect "clicked" do |widget, event|
|
|
28
|
+
@menu.taille=widget.name.to_i()
|
|
29
|
+
end
|
|
30
|
+
@boutons.pack_start(temp, :expand => true, :fill => true)
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
temp = Gtk::Box.new(:vertical, 0)
|
|
35
|
+
|
|
36
|
+
temp.pack_start(Gtk::Label.new("Taille de la grille"), :expand => true, :fill => true)
|
|
37
|
+
temp.pack_start(@boutons, :expand => true, :fill => true)
|
|
38
|
+
|
|
39
|
+
pack_start(temp, :expand => true, :fill => true)
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
|
|
2
|
+
require_relative '../UI/RacineUI.rb'
|
|
3
|
+
require 'gtk3'
|
|
4
|
+
|
|
5
|
+
##
|
|
6
|
+
# PAS UTILISE DANS LE VERSION FINALE
|
|
7
|
+
# Auteur:: Brabant Mano
|
|
8
|
+
# Version:: 0.1
|
|
9
|
+
# Date:: 09/04/2020
|
|
10
|
+
#
|
|
11
|
+
#Une fenetre ou va apparaitre le jeu
|
|
12
|
+
class Fenetre < Gtk::Window
|
|
13
|
+
|
|
14
|
+
def initialize()
|
|
15
|
+
|
|
16
|
+
super()
|
|
17
|
+
set_title('Hashiparmentier')
|
|
18
|
+
|
|
19
|
+
signal_connect "destroy" do
|
|
20
|
+
Gtk.main_quit
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
set_window_position Gtk::WindowPosition::CENTER
|
|
24
|
+
|
|
25
|
+
add(RacineUI.new())
|
|
26
|
+
|
|
27
|
+
maximize
|
|
28
|
+
show_all
|
|
29
|
+
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
require 'gtk3'
|
|
2
|
+
|
|
3
|
+
require_relative "../UI/Menu.rb"
|
|
4
|
+
|
|
5
|
+
require_relative "../CSS/Style.rb"
|
|
6
|
+
|
|
7
|
+
class FenetreFinUI
|
|
8
|
+
|
|
9
|
+
def initialize(grille,compte,window)
|
|
10
|
+
|
|
11
|
+
@grille = grille
|
|
12
|
+
window.destroy()
|
|
13
|
+
@builderFin = Gtk::Builder.new
|
|
14
|
+
@builderFin.add_from_file("lib/Hashiparmentier/glade/Fin.glade")
|
|
15
|
+
|
|
16
|
+
@windowFin = @builderFin.get_object("FenetreFin")
|
|
17
|
+
@windowFin.style_context.add_provider(@@CSS_FIN, Gtk::StyleProvider::PRIORITY_USER)
|
|
18
|
+
@windowFin.signal_connect('destroy') { |_widget|
|
|
19
|
+
@grille.recommencer()
|
|
20
|
+
@grille.sauvegarder(compte)
|
|
21
|
+
@windowFin.destroy()
|
|
22
|
+
Gtk.main_quit }
|
|
23
|
+
|
|
24
|
+
@imgEtoile = @builderFin.get_object("imgScore")
|
|
25
|
+
if(@grille.score>(500*@grille.tailleX * 0.7))
|
|
26
|
+
@imgEtoile.style_context.add_provider(@@CSS_BG_SCORE3, Gtk::StyleProvider::PRIORITY_USER)
|
|
27
|
+
elsif(@grille.score>(500*@grille.tailleX / 0.4))
|
|
28
|
+
@imgEtoile.style_context.add_provider(@@CSS_BG_SCORE2, Gtk::StyleProvider::PRIORITY_USER)
|
|
29
|
+
else
|
|
30
|
+
@imgEtoile.style_context.add_provider(@@CSS_BG_SCORE1, Gtk::StyleProvider::PRIORITY_USER)
|
|
31
|
+
end
|
|
32
|
+
#fonctions
|
|
33
|
+
@clickRetour = @builderFin.get_object("button1")
|
|
34
|
+
@clickRetour.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
|
35
|
+
@clickRetour.signal_connect('clicked'){
|
|
36
|
+
@grille.recommencer()
|
|
37
|
+
@grille.sauvegarder(compte)
|
|
38
|
+
@windowFin.destroy()
|
|
39
|
+
Menu.new()
|
|
40
|
+
Gtk.main_quit
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@clickQuitter = @builderFin.get_object("button3")
|
|
44
|
+
@clickQuitter.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
|
45
|
+
@clickQuitter.signal_connect('clicked'){
|
|
46
|
+
@grille.recommencer()
|
|
47
|
+
@grille.sauvegarder(compte)
|
|
48
|
+
@windowFin.destroy()
|
|
49
|
+
Gtk.main_quit
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
@clickMapSuivante = @builderFin.get_object("button2")
|
|
54
|
+
@clickMapSuivante.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
|
55
|
+
@clickMapSuivante.signal_connect('clicked'){
|
|
56
|
+
@grille.recommencer()
|
|
57
|
+
@grille.sauvegarder(compte)
|
|
58
|
+
puts "mode aventure MAJ"
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@labelHsJoueur = @builderFin.get_object("valeurHS")
|
|
62
|
+
@labelHsJoueur.set_label(@grille.getMeilleurScore(compte).to_s)
|
|
63
|
+
|
|
64
|
+
@labelScoreJoueur = @builderFin.get_object("scoreJoueur")
|
|
65
|
+
@labelScoreJoueur.set_label(@grille.score.to_s)
|
|
66
|
+
|
|
67
|
+
@windowFin.show_all()
|
|
68
|
+
# Appel de la gestion des signaux
|
|
69
|
+
Gtk.main()
|
|
70
|
+
end
|
|
71
|
+
end
|