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,193 @@
|
|
1
|
+
require 'gtk3'
|
2
|
+
|
3
|
+
require_relative '../Core/ConnectSqlite3.rb'
|
4
|
+
|
5
|
+
require_relative "../Core/Grille.rb"
|
6
|
+
require_relative "../Core/Aide.rb"
|
7
|
+
require_relative "../Core/Sauvegarde.rb"
|
8
|
+
require_relative "../Core/Compte.rb"
|
9
|
+
#require_relative "../Core/Checkpoint.rb"
|
10
|
+
require_relative "../Core/DonnerTechnique.rb"
|
11
|
+
require_relative "../Core/VerifierGrille.rb"
|
12
|
+
require_relative "../Core/Action.rb"
|
13
|
+
require_relative "../Core/Hypothese.rb"
|
14
|
+
require_relative "../Core/Chrono.rb"
|
15
|
+
require_relative "../Core/Jeu.rb"
|
16
|
+
|
17
|
+
require_relative "../UI/Menu.rb"
|
18
|
+
require_relative "../UI/FenetreFinUI.rb"
|
19
|
+
require_relative "../UI/AideJeuUI.rb"
|
20
|
+
require_relative "../UI/ReglesUI.rb"
|
21
|
+
require_relative "../UI/AstucesUI.rb"
|
22
|
+
require_relative "../UI/GrilleJouableUI.rb"
|
23
|
+
require_relative "../CSS/Style.rb"
|
24
|
+
|
25
|
+
class FenetreJeuUI
|
26
|
+
|
27
|
+
|
28
|
+
def initialize(mode, grille ,pseudo,window,window1)
|
29
|
+
@grille=grille
|
30
|
+
@mode = mode
|
31
|
+
@pseudo = pseudo
|
32
|
+
@scoreCourant = 500 * @grille.tailleX
|
33
|
+
#puts "Pseudo : #{@pseudo}";
|
34
|
+
@compte = Compte.recuperer(@pseudo)
|
35
|
+
|
36
|
+
# puts "Mode : #{@mode}";
|
37
|
+
# puts "Taille : #{@taille}";
|
38
|
+
# puts "Difficulté : #{@difficulte}";
|
39
|
+
|
40
|
+
window.destroy()
|
41
|
+
window1.destroy()
|
42
|
+
# CREATION FENETRE
|
43
|
+
@builderJeu = Gtk::Builder.new
|
44
|
+
@builderJeu.add_from_file("lib/Hashiparmentier/glade/jeu.glade")
|
45
|
+
@window = @builderJeu.get_object("windowJeu")
|
46
|
+
@window.signal_connect('destroy') { |_widget|
|
47
|
+
@grille.sauvegarder(@compte)
|
48
|
+
Thread.kill(@threadChrono)
|
49
|
+
@window.destroy()
|
50
|
+
Gtk.main_quit }
|
51
|
+
|
52
|
+
if (@grille.tailleX == 15)
|
53
|
+
@window.style_context.add_provider(@@CSS_BG_JEU15, Gtk::StyleProvider::PRIORITY_USER)
|
54
|
+
else
|
55
|
+
@window.style_context.add_provider(@@CSS_BG_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
56
|
+
end
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
#autre
|
61
|
+
@labelPseudo = @builderJeu.get_object("lbPseudo")
|
62
|
+
@labelPseudo.set_label("Joueur : "+ @pseudo)
|
63
|
+
@labelChrono = @builderJeu.get_object("chrono")
|
64
|
+
@labelScore = @builderJeu.get_object("lbVarScore")
|
65
|
+
@labelScore.set_label(@grille.score.to_s)
|
66
|
+
|
67
|
+
#Creation de la grille
|
68
|
+
grilleJeux = @builderJeu.get_object("grilleJeux")
|
69
|
+
grilleJeux.pack_start(@grilleJouable = GrilleJouableUI.new(grille))
|
70
|
+
#@jeu = Jeu.creer(@difficulte,@taille,@compte,self, @labelChrono, @labelScore)
|
71
|
+
|
72
|
+
@checkpoints = Pile.creer()
|
73
|
+
@verifGrille = VerifierGrille.creer(@grille)
|
74
|
+
@donnerTech = DonnerTechnique.creer(@grille)
|
75
|
+
|
76
|
+
#fonctions
|
77
|
+
@clickUndo = @builderJeu.get_object("btnUndo")
|
78
|
+
@clickUndo.signal_connect('clicked'){@grille.undo()}
|
79
|
+
|
80
|
+
@clickRedo = @builderJeu.get_object("btnRedo")
|
81
|
+
@clickRedo.signal_connect('clicked'){@grille.redo()}
|
82
|
+
|
83
|
+
@btnReinit = @builderJeu.get_object("btnReinit")
|
84
|
+
@btnReinit.signal_connect('clicked'){@grille.recommencer()}
|
85
|
+
|
86
|
+
@btnRetour = @builderJeu.get_object("btnRetour")
|
87
|
+
@btnRetour.signal_connect('clicked'){
|
88
|
+
@grille.sauvegarder(@compte)
|
89
|
+
Thread.kill(@threadChrono)
|
90
|
+
@window.destroy()
|
91
|
+
Gtk.main_quit
|
92
|
+
Menu.new()
|
93
|
+
}
|
94
|
+
|
95
|
+
@btnValid1 = @builderJeu.get_object("btnvalid1")
|
96
|
+
@btnValid1.signal_connect('clicked'){@grille.creerHypothese()}
|
97
|
+
|
98
|
+
@btnSuppr1 = @builderJeu.get_object("btnsup1")
|
99
|
+
@btnSuppr1.signal_connect('clicked'){@grille.supprimeHypothese()}
|
100
|
+
|
101
|
+
@btnValCP = @builderJeu.get_object("btnVerifCP")
|
102
|
+
@btnValCP.signal_connect('clicked'){@grille.valideHypothese()}
|
103
|
+
|
104
|
+
@btnSauvegarder = @builderJeu.get_object("btnsave")
|
105
|
+
@btnSauvegarder.signal_connect('clicked'){@grille.sauvegarder(@compte)}
|
106
|
+
|
107
|
+
@labelIndice = @builderJeu.get_object("labelIndice")
|
108
|
+
|
109
|
+
@btnDonnerTech = @builderJeu.get_object("btnIndice")
|
110
|
+
@btnDonnerTech.signal_connect('clicked'){@labelIndice.set_label(@donnerTech.aider())}
|
111
|
+
|
112
|
+
@btnVerif = @builderJeu.get_object("btnVerifGrille")
|
113
|
+
@btnVerif.signal_connect('clicked'){@verifGrille.aider()}
|
114
|
+
|
115
|
+
@btnValidGrille = @builderJeu.get_object("btnValidGrille")
|
116
|
+
@btnValidGrille.signal_connect('clicked'){
|
117
|
+
@grille.sauvegarder(@compte)
|
118
|
+
if(@grille.fini?() == true)
|
119
|
+
Thread.kill(@threadChrono)
|
120
|
+
fenetre_fin = FenetreFinUI.new(@grille,@compte,@window)
|
121
|
+
#Gtk.main_quit
|
122
|
+
else
|
123
|
+
@labelIndice.set_label("Vous n'avez pas trouvé la solution ! \n Continuez ...")
|
124
|
+
end
|
125
|
+
}
|
126
|
+
|
127
|
+
@chronoGrille = Chrono.new(self, @labelChrono)
|
128
|
+
@threadChrono = Thread.new{@chronoGrille.lancerChrono()}
|
129
|
+
|
130
|
+
@btnAide = @builderJeu.get_object("btnAide")
|
131
|
+
@btnRegles = @builderJeu.get_object("btnRegles")
|
132
|
+
@btnAstuces = @builderJeu.get_object("btnAstuces")
|
133
|
+
|
134
|
+
@grille111 = @builderJeu.get_object("grid1")
|
135
|
+
@grille111.style_context.add_provider(@@CSS_BOX_STAT, Gtk::StyleProvider::PRIORITY_USER)
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
@btnAide.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
140
|
+
@btnRegles.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
141
|
+
@btnAstuces.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
142
|
+
|
143
|
+
@btnValid1.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
144
|
+
@btnSuppr1.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
145
|
+
@btnValCP.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
146
|
+
@btnSauvegarder.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
147
|
+
|
148
|
+
@btnRetour.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
149
|
+
@btnDonnerTech.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
150
|
+
@clickRedo.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
151
|
+
@clickUndo.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
152
|
+
@btnReinit.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
153
|
+
@btnVerif.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
154
|
+
@btnValidGrille.style_context.add_provider(@@CSS_BTN_JEU, Gtk::StyleProvider::PRIORITY_USER)
|
155
|
+
|
156
|
+
@btnAide.signal_connect('clicked') { |_widget| AfficherAideJeu() }
|
157
|
+
@btnRegles.signal_connect('clicked') { |_widget| AfficherRegles() }
|
158
|
+
@btnAstuces.signal_connect('clicked') { |_widget| AfficherAstuces() }
|
159
|
+
|
160
|
+
@boxStat = @builderJeu.get_object("boxStat")
|
161
|
+
@boxStat.style_context.add_provider(@@CSS_BOX_STAT, Gtk::StyleProvider::PRIORITY_USER)
|
162
|
+
#@chronoGrille = Chrono.new(@jeu)
|
163
|
+
#@threadChrono = Thread.new{@chronoGrille.lancerChrono()}
|
164
|
+
#@threadJeu = Thread.new{@jeu.lanceToi()}
|
165
|
+
@window.show_all()
|
166
|
+
#Gtk.main()
|
167
|
+
end
|
168
|
+
|
169
|
+
def modifScore(val)
|
170
|
+
@grille.score += val
|
171
|
+
if(@grille.score<0)
|
172
|
+
@grille.score = 0
|
173
|
+
end
|
174
|
+
@labelScore.set_label(@grille.score.to_s)
|
175
|
+
end
|
176
|
+
|
177
|
+
def actualiseScore()
|
178
|
+
@labelScore.set_label(@grille.score.to_s)
|
179
|
+
end
|
180
|
+
|
181
|
+
def AfficherAideJeu()
|
182
|
+
@aide = AideJeuUI.new()
|
183
|
+
end
|
184
|
+
|
185
|
+
def AfficherRegles()
|
186
|
+
@regles = ReglesUI.new()
|
187
|
+
end
|
188
|
+
|
189
|
+
def AfficherAstuces()
|
190
|
+
@astuces = AstucesUI.new()
|
191
|
+
end
|
192
|
+
|
193
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
require_relative "../UI/ReglesUI.rb"
|
4
|
+
require 'gtk3'
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
##
|
10
|
+
# PAS UTILISE DANS LE VERSION FINALE
|
11
|
+
# Auteur:: Brabant Mano
|
12
|
+
# Version:: 0.1
|
13
|
+
# Date:: 09/04/2020
|
14
|
+
class FenetreReglesUI < Gtk::Window
|
15
|
+
|
16
|
+
def initialize
|
17
|
+
|
18
|
+
super("Règles du Hashiparmentier")
|
19
|
+
|
20
|
+
signal_connect "delete_event" do
|
21
|
+
hide_on_delete()
|
22
|
+
end
|
23
|
+
|
24
|
+
add(ReglesUI.new())
|
25
|
+
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
|
2
|
+
|
3
|
+
|
4
|
+
require 'gtk3'
|
5
|
+
|
6
|
+
|
7
|
+
|
8
|
+
##
|
9
|
+
# PAS UTILISE DANS LE VERSION FINALE
|
10
|
+
# Auteur:: Brabant Mano
|
11
|
+
# Version:: 0.1
|
12
|
+
# Date:: 09/04/2020
|
13
|
+
#
|
14
|
+
#Montre l'ecran de victoire
|
15
|
+
class FinUI < Gtk::Box
|
16
|
+
|
17
|
+
def initialize(racine)
|
18
|
+
|
19
|
+
super(:vertical, 10)
|
20
|
+
|
21
|
+
@racine = racine
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
def reussi(taille, difficulte)
|
26
|
+
|
27
|
+
each_all do |c|
|
28
|
+
remove(c)
|
29
|
+
end
|
30
|
+
|
31
|
+
add(Gtk::Label.new("Bravo vous avez gagné !!!"))
|
32
|
+
|
33
|
+
#puts "OSCOUR !!! : " , taille.inspect, difficulte.inspect
|
34
|
+
|
35
|
+
if(difficulte == 0)
|
36
|
+
|
37
|
+
if(taille == 7)
|
38
|
+
|
39
|
+
#puts "JEANNE !!!!!!"
|
40
|
+
|
41
|
+
add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Pont Gaulois.jpg"))
|
42
|
+
|
43
|
+
elsif(taille == 10)
|
44
|
+
|
45
|
+
add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Pont Gaulois.jpg"))
|
46
|
+
|
47
|
+
elsif(taille == 15)
|
48
|
+
|
49
|
+
add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Pont Gaulois.jpg"))
|
50
|
+
|
51
|
+
end
|
52
|
+
|
53
|
+
elsif(difficulte == 1)
|
54
|
+
|
55
|
+
if(taille == 7)
|
56
|
+
|
57
|
+
add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Zubi Zuri.jpg"))
|
58
|
+
|
59
|
+
elsif(taille == 10)
|
60
|
+
|
61
|
+
add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Zubi Zuri.jpg"))
|
62
|
+
|
63
|
+
elsif(taille == 15)
|
64
|
+
|
65
|
+
add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Zubi Zuri.jpg"))
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
elsif(difficulte == 2)
|
70
|
+
|
71
|
+
if(taille == 7)
|
72
|
+
|
73
|
+
add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Golden Bridge.jpg"))
|
74
|
+
|
75
|
+
elsif(taille == 10)
|
76
|
+
|
77
|
+
add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Golden Bridge.jpg"))
|
78
|
+
|
79
|
+
elsif(taille == 15)
|
80
|
+
|
81
|
+
add(Gtk::Image.new(:file => "lib/Hashiparmentier/Data/Golden Bridge.jpg"))
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
end
|
86
|
+
|
87
|
+
show_all
|
88
|
+
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
@@ -0,0 +1,47 @@
|
|
1
|
+
|
2
|
+
require_relative "../UI/GrilleUI.rb"
|
3
|
+
|
4
|
+
|
5
|
+
##
|
6
|
+
# Auteur:: Brabant Mano
|
7
|
+
# Version:: 0.1
|
8
|
+
# Date:: 09/04/2020
|
9
|
+
#
|
10
|
+
#Cette classe représente une GrilleUI dans laquelle on peut jouer
|
11
|
+
#
|
12
|
+
#Pour l'utiliser créez en une et ajoutez la avec "add" ou "pack_start" etc, à votre container
|
13
|
+
#
|
14
|
+
#Voir GrilleUI
|
15
|
+
class GrilleJouableUI < GrilleUI
|
16
|
+
|
17
|
+
def initialize(grille, taille = 40)
|
18
|
+
|
19
|
+
super(grille, taille)
|
20
|
+
|
21
|
+
self.signal_connect "button-press-event" do |widget, event| #Connexion à l'event "clic"
|
22
|
+
self.clickOn(widget, event)
|
23
|
+
end
|
24
|
+
|
25
|
+
self.add_events([:button_press_mask])
|
26
|
+
|
27
|
+
end
|
28
|
+
|
29
|
+
|
30
|
+
##
|
31
|
+
#Cette méthode permet de gérer les clics sur la grille
|
32
|
+
#Elle appelle la fonction clickOn de la case sur laquelle on a cliqué
|
33
|
+
def clickOn(widget, event)
|
34
|
+
|
35
|
+
y = (event.x/@taille).to_i
|
36
|
+
x = (event.y/@taille).to_i
|
37
|
+
|
38
|
+
if(!sortLimite?(x, y))
|
39
|
+
getCase(x, y).clickOn()
|
40
|
+
end
|
41
|
+
|
42
|
+
self.queue_draw()
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
end
|
@@ -0,0 +1,140 @@
|
|
1
|
+
|
2
|
+
require_relative "../Core/Grille.rb"
|
3
|
+
|
4
|
+
require_relative "../UI/CaseUI.rb"
|
5
|
+
require_relative "../UI/IleUI.rb"
|
6
|
+
require_relative "../UI/PontUI.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 d'afficher une grille de hashi
|
16
|
+
class GrilleUI < Gtk::DrawingArea
|
17
|
+
|
18
|
+
#@grille => La grile avec laquelle on joue
|
19
|
+
attr_reader :grille
|
20
|
+
|
21
|
+
##
|
22
|
+
#Ce constructeur permet de créer un nouveau afficheur de grille
|
23
|
+
#param::
|
24
|
+
# * grille La grille que l'on veut afficher
|
25
|
+
# * taille La taille des cases de la grille (40 par default)
|
26
|
+
def initialize(grille, taille = 40)
|
27
|
+
|
28
|
+
super()
|
29
|
+
|
30
|
+
@grille = grille
|
31
|
+
@taille = taille
|
32
|
+
|
33
|
+
init()
|
34
|
+
|
35
|
+
signal_connect "draw" do
|
36
|
+
on_draw()
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
private def init()
|
42
|
+
|
43
|
+
@mat = Array.new(@grille.tailleX()) { Array.new(@grille.tailleY()) }
|
44
|
+
|
45
|
+
self.set_size_request(@grille.tailleY() * @taille, @grille.tailleX() * @taille)
|
46
|
+
|
47
|
+
for i in 0..(@grille.tailleX()-1)
|
48
|
+
for j in 0..(@grille.tailleY()-1)
|
49
|
+
c = @grille.getCase(i, j)
|
50
|
+
if(c.estIle?())
|
51
|
+
@mat[i][j] = IleUI.creer(c, @taille)
|
52
|
+
elsif(c.estPont?())
|
53
|
+
@mat[i][j] = PontUI.creer(c, @taille)
|
54
|
+
else
|
55
|
+
@mat[i][j] = CaseUI.creer(c, @taille)
|
56
|
+
end
|
57
|
+
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
end
|
62
|
+
|
63
|
+
##
|
64
|
+
#Cette méthode permet de modifier la grille que l'on affiche
|
65
|
+
#Méthode utilisé par la suppression d'hypothèses
|
66
|
+
#param::
|
67
|
+
# * grille La nouvelle grille à afficher
|
68
|
+
def grille=(grille)
|
69
|
+
|
70
|
+
@grille = grille
|
71
|
+
init()
|
72
|
+
|
73
|
+
end
|
74
|
+
|
75
|
+
##
|
76
|
+
#Cette méthode permet de retourner une case à une position donnée
|
77
|
+
#param::
|
78
|
+
# * i La position en abscisse
|
79
|
+
# * j La position en ordonnée
|
80
|
+
#return::
|
81
|
+
# * La case à la position (i, j)
|
82
|
+
def getCase(i, j)
|
83
|
+
return @mat[i][j]
|
84
|
+
end
|
85
|
+
|
86
|
+
##
|
87
|
+
#Cette méthode permet de savoir si une position donnée est dans les limites de la grille
|
88
|
+
#param::
|
89
|
+
# * i La position en abscisse
|
90
|
+
# * j La position en ordonnée
|
91
|
+
#return::
|
92
|
+
# * true si les coordonnées sont en dehors de la grille, false sinon
|
93
|
+
def sortLimite?(i, j)
|
94
|
+
return @grille.sortLimite?(i, j)
|
95
|
+
end
|
96
|
+
|
97
|
+
|
98
|
+
##
|
99
|
+
#Cette méthode permet de dessiner la grille
|
100
|
+
#Appelé automatique en la connectant au signal "draw"
|
101
|
+
def on_draw()
|
102
|
+
|
103
|
+
draw(self.window)
|
104
|
+
|
105
|
+
@mat.each do |l|
|
106
|
+
l.each do |c|
|
107
|
+
c.draw(self.window)
|
108
|
+
end
|
109
|
+
end
|
110
|
+
|
111
|
+
self.queue_draw()
|
112
|
+
|
113
|
+
end
|
114
|
+
|
115
|
+
|
116
|
+
private def draw(window)
|
117
|
+
|
118
|
+
cr = window.create_cairo_context
|
119
|
+
|
120
|
+
cr.set_source_rgb(239/255.0, 227/255.0, 192/255.0)
|
121
|
+
cr.rectangle(0, 0, @taille * @grille.tailleY(), @taille * @grille.tailleX())
|
122
|
+
cr.fill()
|
123
|
+
|
124
|
+
end
|
125
|
+
|
126
|
+
##
|
127
|
+
#Cette méthode permet de sauvegarder la grille que l'on est en train d'afficher
|
128
|
+
#param::
|
129
|
+
# * compte Le compte auquel associer la sauvegarde
|
130
|
+
def sauvegarder(compte)
|
131
|
+
@grille.sauvegarder(compte)
|
132
|
+
end
|
133
|
+
|
134
|
+
##
|
135
|
+
#Cette méthode permet de réinitialiser le grille que l'on affiche
|
136
|
+
def recommencer()
|
137
|
+
@grille.recommencer()
|
138
|
+
end
|
139
|
+
|
140
|
+
end
|