hashi-ruby 1.0.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/assets/FlatColor/gtk-3.20/assets/blank.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check-mixed-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check-mixed.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/check.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/grid-selection-blank.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/grid-selection.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked-hover.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-checked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed-hover.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-checkbox-mixed.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked-hover.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/menuitem-radio-checked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/pane-separator-grip-vertical.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/pane-separator-grip.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio-checked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio-unchecked.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/radio.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-above@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-horz-scale-has-marks-below@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-above@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive-dark.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive-dark@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below-insensitive@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider-vert-scale-has-marks-below@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/assets/slider@2.png +0 -0
- data/bin/assets/FlatColor/gtk-3.20/gnome-applications.css +429 -0
- data/bin/assets/FlatColor/gtk-3.20/gtk-widgets.css +786 -0
- data/bin/assets/FlatColor/gtk-3.20/gtk.css +113 -0
- data/bin/assets/FlatColor/gtk-3.20/gtk.css.base +108 -0
- data/bin/assets/FlatColor/gtk-3.20/settings.ini +7 -0
- data/bin/assets/FlatColor/gtk-3.20/unity.css +68 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/button.css +58 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/calendar.css +32 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/cell-row.css +25 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/check-radio.css +164 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/chrome.css +16 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/color-chooser.css +114 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/column-header.css +52 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/combobox.css +26 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/csd.css +125 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/entry.css +40 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/header-bar.css +27 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/infobar.css +90 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/linked-buttons.css +524 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/menu.css +127 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/notebook.css +200 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/osd.css +203 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/progress-scale.css +365 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/scrollbar.css +116 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/selection-mode.css +109 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/separator.css +24 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/sidebar.css +43 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/spinbutton.css +102 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/spinner.css +120 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/switch.css +63 -0
- data/bin/assets/FlatColor/gtk-3.20/widgets/toolbar.css +39 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked-selectionmode@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-checked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-mixed@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-selectionmode@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/checkbox-unchecked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-checked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-mixed@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/radio-unchecked@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-header@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-insensitive@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-selected.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch-selected@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/switch@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-close@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-maximize@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-minimize@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-active@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-backdrop@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover-dark.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover-dark@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore-hover@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/assets/titlebutton-restore@2.png +0 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/gtk-dark.css +10090 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/gtk.css +10100 -0
- data/bin/assets/Matcha-dark-aliz/gtk-3.0/thumbnail.png +0 -0
- data/bin/assets/Matcha-dark-aliz/index.theme +12 -0
- data/bin/assets/didacticiel/1.jpg +0 -0
- data/bin/assets/didacticiel/2.jpg +0 -0
- data/bin/assets/didacticiel/3.jpg +0 -0
- data/bin/assets/didacticiel/4.jpg +0 -0
- data/bin/assets/didacticiel/5.jpg +0 -0
- data/bin/assets/didacticiel/6.jpg +0 -0
- data/bin/assets/didacticiel/7.jpg +0 -0
- data/bin/assets/didacticiel/8.jpg +0 -0
- data/bin/assets/map.png +0 -0
- data/bin/db/Difficulte.rb +9 -0
- data/bin/db/GestionBase.rb +334 -0
- data/bin/db/GrilleDb.rb +15 -0
- data/bin/db/Joue.rb +10 -0
- data/bin/db/Joueur.rb +9 -0
- data/bin/db/Migration.rb +70 -0
- data/bin/db/Mode.rb +9 -0
- data/bin/db/PhrasesAventure.rb +4 -0
- data/bin/db/TestBase.rb +144 -0
- data/bin/db/base.sqlite +0 -0
- data/bin/hashi +5 -0
- data/bin/src/Action.rb +46 -0
- data/bin/src/Aides.rb +41 -0
- data/bin/src/Case.rb +410 -0
- data/bin/src/Grille.rb +914 -0
- data/bin/src/Grilles/grilles_site.txt +30 -0
- data/bin/src/Grilles/grilles_site_difficile.txt +90 -0
- data/bin/src/Grilles/grilles_site_facile.txt +90 -0
- data/bin/src/Grilles/grilles_site_moyen.txt +90 -0
- data/bin/src/Grilles/grilles_site_ser.txt +0 -0
- data/bin/src/Grilles/grilles_site_ser_difficile.txt +90 -0
- data/bin/src/Grilles/grilles_site_ser_facile.txt +90 -0
- data/bin/src/Grilles/grilles_site_ser_moyen.txt +90 -0
- data/bin/src/Hashi.rb +214 -0
- data/bin/src/Lien.rb +57 -0
- data/bin/src/Pile.rb +41 -0
- data/bin/src/Rakefile.rb +6 -0
- data/bin/src/SerGrille.rb +430 -0
- data/bin/src/Test.rb +24 -0
- data/bin/src/Test2.rb +135 -0
- data/bin/src/Utilitaire.rb +12 -0
- data/bin/src/testSerGrille.rb +21 -0
- data/bin/src/ui/AfficheurGrille.rb +385 -0
- data/bin/src/ui/AfficheurJeu.rb +209 -0
- data/bin/src/ui/AfficheurSelection.rb +38 -0
- data/bin/src/ui/Afrique.rb +38 -0
- data/bin/src/ui/AmeriqueNord.rb +38 -0
- data/bin/src/ui/AmeriqueSud.rb +38 -0
- data/bin/src/ui/Antarctique.rb +32 -0
- data/bin/src/ui/Asie.rb +38 -0
- data/bin/src/ui/Aventure.rb +132 -0
- data/bin/src/ui/Carte.rb +282 -0
- data/bin/src/ui/ChargementAventure.rb +61 -0
- data/bin/src/ui/Classement.rb +42 -0
- data/bin/src/ui/Connexion.rb +60 -0
- data/bin/src/ui/Didacticiel.rb +169 -0
- data/bin/src/ui/Etiquette.rb +24 -0
- data/bin/src/ui/Europe.rb +38 -0
- data/bin/src/ui/ListeClassement.rb +44 -0
- data/bin/src/ui/Menu.rb +74 -0
- data/bin/src/ui/Monde.rb +167 -0
- data/bin/src/ui/Oceanie.rb +38 -0
- data/bin/src/ui/SelecteurGrille.rb +58 -0
- data/bin/src/ui/SelectionDifficulte.rb +38 -0
- data/bin/src/ui/SelectionUtilisateur.rb +46 -0
- data/bin/src/ui/Timer.rb +29 -0
- metadata +479 -0
Binary file
|
@@ -0,0 +1,12 @@
|
|
1
|
+
[Desktop Entry]
|
2
|
+
Type=X-GNOME-Metatheme
|
3
|
+
Name=Matcha-dark-aliz
|
4
|
+
Comment=A dark modern design theme
|
5
|
+
Encoding=UTF-8
|
6
|
+
|
7
|
+
[X-GNOME-Metatheme]
|
8
|
+
GtkTheme=Matcha-dark-aliz
|
9
|
+
MetacityTheme=Matcha-dark-aliz
|
10
|
+
IconTheme=Qogir-manjaro
|
11
|
+
CursorTheme=Breeze_cursors
|
12
|
+
ButtonLayout=menu:minimize,maximize,close
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
data/bin/assets/map.png
ADDED
Binary file
|
@@ -0,0 +1,334 @@
|
|
1
|
+
#Fonction de gestion de la base de données
|
2
|
+
require "rubygems"
|
3
|
+
require "active_record"
|
4
|
+
require_relative "Joueur"
|
5
|
+
require_relative "GrilleDb"
|
6
|
+
require_relative "Joue"
|
7
|
+
require_relative "Difficulte"
|
8
|
+
require_relative "Mode"
|
9
|
+
require_relative "PhrasesAventure"
|
10
|
+
|
11
|
+
# Classe permettant la récupérations d'informations de la Base de données vers le programme grâce au joueur ou aux grilles
|
12
|
+
class GestionBase
|
13
|
+
# Ajoute un joueur à la base de données
|
14
|
+
#
|
15
|
+
# === Paramètres
|
16
|
+
#
|
17
|
+
# * +pseudo+ => Le pseudo que le joueur désire (chaîne de caractères)
|
18
|
+
#
|
19
|
+
# === Retour
|
20
|
+
#
|
21
|
+
# Vrai si le pseudo est libre, faux si déjà utilisé
|
22
|
+
#
|
23
|
+
def GestionBase.ajouterJoueur(pseudo)
|
24
|
+
retour = nil
|
25
|
+
|
26
|
+
#Si le pseudo n'est pas déjà pris
|
27
|
+
if(recupJoueur(pseudo)==nil)
|
28
|
+
retour = Joueur.create( :pseudo => pseudo)
|
29
|
+
end
|
30
|
+
|
31
|
+
return retour != nil
|
32
|
+
end
|
33
|
+
|
34
|
+
# Récupère un joueur de la base de données via son pseudo
|
35
|
+
#
|
36
|
+
# === Paramètres
|
37
|
+
#
|
38
|
+
# * +pseudo+ => Le pseudo du joueur que l'on souhaite récupérer (chaîne de caractères)
|
39
|
+
#
|
40
|
+
# === Retour
|
41
|
+
#
|
42
|
+
# Le joueur si existant, nil sinon
|
43
|
+
#
|
44
|
+
def GestionBase.recupJoueur(pseudo)
|
45
|
+
return Joueur.where("lower(pseudo) = ?", pseudo.downcase).first
|
46
|
+
# return Joueur.find_by_pseudo(pseudo)
|
47
|
+
end
|
48
|
+
|
49
|
+
# Récupère tous les joueur de la base de données
|
50
|
+
#
|
51
|
+
# === Retour
|
52
|
+
#
|
53
|
+
# Un tableau de joueurs
|
54
|
+
#
|
55
|
+
def GestionBase.recupJoueurAll
|
56
|
+
return Joueur.all
|
57
|
+
end
|
58
|
+
|
59
|
+
# Récupère la difficulté d'une grille via son Id
|
60
|
+
#
|
61
|
+
# === Paramètres
|
62
|
+
#
|
63
|
+
# * +idGrille+ => L'Id de la grille dont on veut récupérer la difficulté
|
64
|
+
#
|
65
|
+
# === Retour
|
66
|
+
#
|
67
|
+
# La difficulté (niveau) de la grille (chaîne de caractère), ou nil si impossible à trouver
|
68
|
+
#
|
69
|
+
def GestionBase.recupDifficulte(idGrille)
|
70
|
+
grille= GrilleDb.find(idGrille)
|
71
|
+
return Difficulte.find(grille.difficultes_id).niveau
|
72
|
+
end
|
73
|
+
|
74
|
+
# Récupère le mode de jeu de la grille via son Id
|
75
|
+
#
|
76
|
+
# === Paramètres
|
77
|
+
#
|
78
|
+
# * +idGrille+ => L'Id de la grille dont on veut récupérer le mode de jeu
|
79
|
+
#
|
80
|
+
# === Retour
|
81
|
+
#
|
82
|
+
# Le mode de jeu de la grille (chaîne de caractère), ou nil si impossible à trouver
|
83
|
+
#
|
84
|
+
def GestionBase.recupMode(idGrille)
|
85
|
+
grille= GrilleDb.find(idGrille)
|
86
|
+
return Mode.find(grille.modes_id).mode_jeu
|
87
|
+
end
|
88
|
+
|
89
|
+
# Récupère le score du joueur sur la grille
|
90
|
+
#
|
91
|
+
# === Paramètres
|
92
|
+
#
|
93
|
+
# * +idJoueur+ => L'Id du joueur dont on veut récupérer le score de la grille
|
94
|
+
# * +grilleDb+ => La grille dont on veut récupérer le score
|
95
|
+
#
|
96
|
+
# === Retour
|
97
|
+
#
|
98
|
+
# Le score du joueur sur la grilleDb, ou nil si le joueur n'existe pas
|
99
|
+
#
|
100
|
+
def GestionBase.recupScore(idJoueur, grilleDb)
|
101
|
+
score = nil
|
102
|
+
|
103
|
+
begin
|
104
|
+
Joueur.find(idJoueur)
|
105
|
+
|
106
|
+
begin
|
107
|
+
score = Joue.where([ "joueurs_id = ? AND grille_dbs_id = ?", idJoueur, grilleDb.id ]).first.score
|
108
|
+
rescue
|
109
|
+
score = 0
|
110
|
+
puts "recupScore => La grille #{grilleDb.id} n'existe pas pour le joueur #{idJoueur}"
|
111
|
+
end
|
112
|
+
rescue
|
113
|
+
puts "recupScore ==> Joueur d'id #{idJoueur} n'existe pas dans la base"
|
114
|
+
ensure
|
115
|
+
return score
|
116
|
+
end
|
117
|
+
end
|
118
|
+
|
119
|
+
# Récupère le score total du joueur sur les grilles qu'il a joué (uniquement en mode classé)
|
120
|
+
#
|
121
|
+
# === Paramètres
|
122
|
+
#
|
123
|
+
# * +idJoueur+ => L'Id du joueur dont on veut récupérer le score total
|
124
|
+
# * +idDifficulte+ => L'Id de la difficulté désirée
|
125
|
+
#
|
126
|
+
# === Retour
|
127
|
+
#
|
128
|
+
# Le score total du joueur sur les grilles classées terminées, ou nil si le joueur n'existe pas
|
129
|
+
#
|
130
|
+
def GestionBase.recupScoreTotal(idJoueur, idDifficulte)
|
131
|
+
score = nil
|
132
|
+
|
133
|
+
begin
|
134
|
+
Joueur.find(idJoueur)
|
135
|
+
grilles = Joue.where([ "joueurs_id = ? AND terminee = 1", idJoueur ]).select{ |joue| GrilleDb.find(joue.grille_dbs_id).modes_id == Mode.find_by_mode_jeu("Classe").id && GrilleDb.find(joue.grille_dbs_id).difficultes_id == idDifficulte }
|
136
|
+
score = grilles.inject(0) { |s, joue| s += joue.score }
|
137
|
+
rescue
|
138
|
+
puts "recupScoreTotal ==> Joueur d'id #{idJoueur} n'existe pas dans la base"
|
139
|
+
ensure
|
140
|
+
return score
|
141
|
+
end
|
142
|
+
# return Joue.where([ "joueurs_id = ?", idJoueur ]).sum(:score)
|
143
|
+
end
|
144
|
+
|
145
|
+
# Récupère le nombre de grilles jouées par le joueur (uniquement en mode classé)
|
146
|
+
#
|
147
|
+
# === Paramètres
|
148
|
+
#
|
149
|
+
# * +idJoueur+ => L'Id du joueur dont on veut récupérer le nombre de grilles jouées
|
150
|
+
# * +idDifficulte+ => L'Id de la difficulté désirée
|
151
|
+
#
|
152
|
+
# === Retour
|
153
|
+
#
|
154
|
+
# Le nombre de grilles terminées par le joueur, ou nil si le joueur n'existe pas
|
155
|
+
#
|
156
|
+
def GestionBase.recupNbGrillesJouees(idJoueur, idDifficulte)
|
157
|
+
nb = nil
|
158
|
+
|
159
|
+
begin
|
160
|
+
Joueur.find(idJoueur)
|
161
|
+
grilles = Joue.where([ "joueurs_id = ? AND terminee = 1", idJoueur ]).select{ |joue| GrilleDb.find(joue.grille_dbs_id).modes_id == Mode.find_by_mode_jeu("Classe").id && GrilleDb.find(joue.grille_dbs_id).difficultes_id == idDifficulte}
|
162
|
+
nb = grilles.inject(0) { |nb, joue| nb += 1 }
|
163
|
+
rescue
|
164
|
+
puts "recupNbGrillesJouees ==> Joueur d'id #{idJoueur} n'existe pas dans la base"
|
165
|
+
ensure
|
166
|
+
return nb
|
167
|
+
end
|
168
|
+
# return Joue.where([ "joueurs_id = ?", idJoueur ]).count
|
169
|
+
end
|
170
|
+
|
171
|
+
# Sauvegarde la grilles jouée par le joueur ou la créée si elle n'existe pas
|
172
|
+
#
|
173
|
+
# === Paramètres
|
174
|
+
#
|
175
|
+
# * +idJoueur+ => L'Id du joueur dont on veut récupérer la grille déjà commencées
|
176
|
+
# * +grilleDb+ => L'objet grille à enregistrer
|
177
|
+
#
|
178
|
+
# === Retour
|
179
|
+
#
|
180
|
+
# Aucun retour (Enregistrement dans la base)
|
181
|
+
#
|
182
|
+
def GestionBase.sauvegarderGrille(idJoueur, grilleDb)
|
183
|
+
begin
|
184
|
+
raise ("raise sauvegarderGrille") if ((joue=Joue.where([ "joueurs_id = ? AND grille_dbs_id = ?", idJoueur, grilleDb.id ])).count != 1)
|
185
|
+
|
186
|
+
rescue
|
187
|
+
Joue.create( :joueurs_id => idJoueur, :grille_dbs_id => grilleDb.id)
|
188
|
+
end
|
189
|
+
end
|
190
|
+
|
191
|
+
# Récupère les grilles jouées par le joueur
|
192
|
+
#
|
193
|
+
# === Paramètres
|
194
|
+
#
|
195
|
+
# * +idJoueur+ => L'Id du joueur dont on veut récupérer les grilles déjà commencées
|
196
|
+
# * +idDifficulte+ => L'Id de la difficulté des grilles qu'on souhaite récupérer
|
197
|
+
# * +idMode+ => L'Id du mode des grilles qu'on souhaite récupérer
|
198
|
+
# * +nbDebut+ => Le rang auquel commencer la récupération des grilles (début à 0, fin à 89)
|
199
|
+
# * +nbGrilles+ => Le nombre de grilles à récupérer à partir de nbDebut
|
200
|
+
#
|
201
|
+
# === Retour
|
202
|
+
#
|
203
|
+
# Les grilles, d'un nombre et de la difficulté voulus, jouées par le joueur, ou nil si le joueur n'existe pas
|
204
|
+
#
|
205
|
+
def GestionBase.recupGrilles(idJoueur, idDifficulte, idMode, nbDebut, nbGrilles)
|
206
|
+
grilles = nil
|
207
|
+
|
208
|
+
begin
|
209
|
+
Joueur.find(idJoueur)
|
210
|
+
grilles = Array.new #GrilleDb.all
|
211
|
+
# joue = Joue.where([ "joueurs_id = ?", idJoueur ])
|
212
|
+
begin
|
213
|
+
if nbGrilles == 0
|
214
|
+
nbGrilles = GrilleDb.where(difficultes_id: idDifficulte, modes_id: idMode).count - nbDebut
|
215
|
+
end
|
216
|
+
|
217
|
+
GrilleDb.where(difficultes_id: idDifficulte, modes_id: idMode).offset(nbDebut).limit(nbGrilles).each do |grilleDb|
|
218
|
+
begin
|
219
|
+
joue = Joue.where([ "joueurs_id = ? AND grille_dbs_id = ?", idJoueur, grilleDb.id ]).first
|
220
|
+
rescue
|
221
|
+
joue = nil
|
222
|
+
end
|
223
|
+
|
224
|
+
if (joue != nil)
|
225
|
+
grilleDb.grilleSolution = joue.grilleSer
|
226
|
+
else
|
227
|
+
grille = grilleDb.grilleSolution
|
228
|
+
|
229
|
+
grille2 = YAML.load(grille)
|
230
|
+
|
231
|
+
grille = Grille.creer(grille2.tabCase, grille2.hauteur, grille2.largeur, grille2)
|
232
|
+
|
233
|
+
grilleDb.grilleSolution = YAML.dump(grille)
|
234
|
+
#:niveau => difficulte
|
235
|
+
Joue.create( :joueurs_id => idJoueur, :grille_dbs_id => grilleDb.id, :grilleSer => grilleDb.grilleSolution, :score => 0, :terminee => false )
|
236
|
+
end
|
237
|
+
|
238
|
+
grilles.push(grilleDb)
|
239
|
+
end
|
240
|
+
# joue.map { |joue| grilles.push(GrilleDb.find(joue.grille_dbs_id)) }
|
241
|
+
rescue
|
242
|
+
puts "recupGrilles ==> Problème récupération grille depuis joue"
|
243
|
+
end
|
244
|
+
rescue
|
245
|
+
puts "recupGrilles ==> Joueur d'id #{idJoueur} n'existe pas dans la base"
|
246
|
+
ensure
|
247
|
+
return grilles
|
248
|
+
end
|
249
|
+
end
|
250
|
+
|
251
|
+
def GestionBase.recupGrilleAleatoire(idJoueur, idDifficulte, idMode)
|
252
|
+
# Récupère toutes les grilles du mode idMode et difficulte idDifficulte
|
253
|
+
grilles = GestionBase.recupGrilles(idJoueur, idDifficulte, idMode, 0, 0)
|
254
|
+
|
255
|
+
# Trie les grilles pour garder uniquement les grilles non terminée
|
256
|
+
grilleDb = grilles.select { |grilleDb| !GestionBase.grilleTerminee?(idJoueur, grilleDb) }.sample
|
257
|
+
|
258
|
+
if grilleDb == nil
|
259
|
+
#puts "Aucune grille non terminée, on prend parmi les terminées et on réinitialise"
|
260
|
+
grilleDb = grilles.sample
|
261
|
+
|
262
|
+
# Réinitialisation de la grille
|
263
|
+
grilleSolution = YAML.load(grilleDb.grilleSolution)
|
264
|
+
grille = Grille.creer(grilleSolution.tabCase, grilleSolution.hauteur, grilleSolution.largeur, grilleSolution)
|
265
|
+
grilleDb.grilleSolution = YAML.dump(grille)
|
266
|
+
|
267
|
+
# Enregistrement de la grille
|
268
|
+
GestionBase.changerScore(idJoueur, grilleDb, 0)
|
269
|
+
end
|
270
|
+
|
271
|
+
return grilleDb
|
272
|
+
end
|
273
|
+
|
274
|
+
# Modifie le score de la grille d'un Joueur
|
275
|
+
#
|
276
|
+
# === Paramètres
|
277
|
+
#
|
278
|
+
# * +idJoueur+ => L'Id du Joueur dont on veut modifier le scre de l'une des grilles
|
279
|
+
# * +grilleDb+ => L'objet grille dont on veut modifier le score
|
280
|
+
# score à supprimer des paramètres
|
281
|
+
# === Retour
|
282
|
+
#
|
283
|
+
# Aucun : modifie le score de la grille du joueur ainsi que la grilleSer
|
284
|
+
#
|
285
|
+
def GestionBase.changerScore(idJoueur, grilleDb, score)
|
286
|
+
begin
|
287
|
+
raise ("raise changerScore") if ((joue=Joue.where([ "joueurs_id = ? AND grille_dbs_id = ?", idJoueur, grilleDb.id ])).count != 1)
|
288
|
+
joue = joue.first
|
289
|
+
idDifficulte = grilleDb.difficultes_id
|
290
|
+
grille = YAML.load(grilleDb.grilleSolution)
|
291
|
+
# puts "grille: #{grille.nbAides}"
|
292
|
+
|
293
|
+
tempsReel = grille.timer
|
294
|
+
nbAides = 10 * grille.nbAides
|
295
|
+
terminee = false
|
296
|
+
begin
|
297
|
+
raise ("Grille non terminée") if (!grille.grilleFinie)
|
298
|
+
score = grilleDb.tempsMax + (3 * (grilleDb.tempsMoyen - tempsReel)) - nbAides + 500 - (3 * (7 - idDifficulte))
|
299
|
+
terminee = true
|
300
|
+
#puts "score: #{score}, scoreMax: #{grilleDb.scoreMax}, tempsMoyen: #{grilleDb.tempsMoyen}"
|
301
|
+
rescue # timer == 0?
|
302
|
+
# puts "Timer: #{tempsReel}"
|
303
|
+
score = 0
|
304
|
+
end
|
305
|
+
# score = grilleDb.scoreMax * grilleDb.tempsMoyen
|
306
|
+
joue.update(score: score, grilleSer: grilleDb.grilleSolution, terminee: terminee)# if (joue.score < score)
|
307
|
+
rescue
|
308
|
+
puts "changeScore ==> La grille d'id #{grilleDb.id} du joueur d'id #{idJoueur} n'existe pas dans la base. Score: #{score}"
|
309
|
+
end
|
310
|
+
end
|
311
|
+
|
312
|
+
# Permet de savoir si une grille a été terminée par le joueur
|
313
|
+
#
|
314
|
+
# === Paramètres
|
315
|
+
#
|
316
|
+
# * +idJoueur+ => L'Id du Joueur dont on veut savoir s'il a terminé la grille
|
317
|
+
# * +grilleDb+ => L'objet grille dont on veut savoir si elle a été terminée
|
318
|
+
#
|
319
|
+
# === Retour
|
320
|
+
#
|
321
|
+
# Si le joueur et la grille existent, renvoie l'état de la grille (true ou false), nil si la grille n'existe pas pour le joueur
|
322
|
+
#
|
323
|
+
def GestionBase.grilleTerminee?(idJoueur, grilleDb)
|
324
|
+
terminee = nil
|
325
|
+
begin
|
326
|
+
raise ("raise grilleTerminee?") if ((joue=Joue.where([ "joueurs_id = ? AND grille_dbs_id = ?", idJoueur, grilleDb.id ])).count != 1)
|
327
|
+
terminee = joue.first.terminee
|
328
|
+
rescue
|
329
|
+
puts "grilleTerminee? ==> La grille d'id #{grilleDb.id} du joueur d'id #{idJoueur} n'existe pas dans la base."
|
330
|
+
ensure
|
331
|
+
return terminee
|
332
|
+
end
|
333
|
+
end
|
334
|
+
end
|
data/bin/db/GrilleDb.rb
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'active_record'
|
2
|
+
|
3
|
+
require_relative "../src/Grille"
|
4
|
+
# Classe GrilleDb de la base de données
|
5
|
+
class GrilleDb < ActiveRecord::Base
|
6
|
+
has_many :joueurs, through: :joue
|
7
|
+
belongs_to :difficulte
|
8
|
+
belongs_to :mode
|
9
|
+
|
10
|
+
# serialize :grilleSolution
|
11
|
+
|
12
|
+
def to_s
|
13
|
+
"<GrilleDb> difficulte : #{difficultes_id}, mode : #{modes_id}"
|
14
|
+
end
|
15
|
+
end
|
data/bin/db/Joue.rb
ADDED
data/bin/db/Joueur.rb
ADDED
data/bin/db/Migration.rb
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
require 'active_record'
|
2
|
+
ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: 'base.sqlite')
|
3
|
+
|
4
|
+
# Initialisation et création des tables
|
5
|
+
class Migration < ActiveRecord::Migration[4.2]
|
6
|
+
def change
|
7
|
+
if ActiveRecord::Base.connection.table_exists?(:joueurs)
|
8
|
+
drop_table :joueurs
|
9
|
+
end
|
10
|
+
|
11
|
+
if ActiveRecord::Base.connection.table_exists?(:grille_dbs)
|
12
|
+
drop_table :grille_dbs
|
13
|
+
end
|
14
|
+
|
15
|
+
if ActiveRecord::Base.connection.table_exists?(:difficultes)
|
16
|
+
drop_table :difficultes
|
17
|
+
end
|
18
|
+
|
19
|
+
if ActiveRecord::Base.connection.table_exists?(:modes)
|
20
|
+
|
21
|
+
drop_table :modes
|
22
|
+
end
|
23
|
+
|
24
|
+
if ActiveRecord::Base.connection.table_exists?(:joues)
|
25
|
+
|
26
|
+
drop_table :joues
|
27
|
+
end
|
28
|
+
|
29
|
+
if ActiveRecord::Base.connection.table_exists?(:phrases_aventures)
|
30
|
+
|
31
|
+
drop_table :phrases_aventures
|
32
|
+
end
|
33
|
+
|
34
|
+
create_table :joueurs do |t|
|
35
|
+
t.string :pseudo
|
36
|
+
end
|
37
|
+
|
38
|
+
create_table :difficultes do |t|
|
39
|
+
t.string :niveau
|
40
|
+
end
|
41
|
+
|
42
|
+
create_table :modes do |t|
|
43
|
+
t.string :mode_jeu
|
44
|
+
end
|
45
|
+
|
46
|
+
create_table :grille_dbs do |t|
|
47
|
+
t.belongs_to :difficultes
|
48
|
+
t.belongs_to :modes
|
49
|
+
t.integer :tempsMoyen
|
50
|
+
t.integer :tempsMax
|
51
|
+
t.integer :scoreMax
|
52
|
+
t.text :grilleSolution
|
53
|
+
end
|
54
|
+
|
55
|
+
create_table :joues do |t|
|
56
|
+
t.belongs_to :joueurs
|
57
|
+
t.belongs_to :grille_dbs
|
58
|
+
t.text :grilleSer
|
59
|
+
t.integer :score
|
60
|
+
t.boolean :terminee
|
61
|
+
end
|
62
|
+
|
63
|
+
create_table :phrases_aventures do |t|
|
64
|
+
t.string :texteBot
|
65
|
+
t.integer :idZoneScore
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
#Migration.migrate(:up)
|
data/bin/db/Mode.rb
ADDED
data/bin/db/TestBase.rb
ADDED
@@ -0,0 +1,144 @@
|
|
1
|
+
#Test de base de données
|
2
|
+
require "rubygems"
|
3
|
+
require "active_record"
|
4
|
+
require_relative "Migration"
|
5
|
+
require_relative "Joue"
|
6
|
+
require_relative "Joueur"
|
7
|
+
require_relative "GrilleDb"
|
8
|
+
require_relative "Difficulte"
|
9
|
+
require_relative "Mode"
|
10
|
+
require_relative "PhrasesAventure"
|
11
|
+
require_relative "GestionBase"
|
12
|
+
require_relative "../src/SerGrille"
|
13
|
+
|
14
|
+
class TestBase
|
15
|
+
def TestBase.genererBase
|
16
|
+
# Réinitialise la base
|
17
|
+
Migration.migrate(:up)
|
18
|
+
|
19
|
+
fichiers = ["Facile", "Moyen", "Difficile"]
|
20
|
+
|
21
|
+
# Difficulte.create( :niveau => "Facile")
|
22
|
+
# Difficulte.create( :niveau => "Moyen")
|
23
|
+
# Difficulte.create( :niveau => "Difficile")
|
24
|
+
Mode.create( :mode_jeu => "Entrainement")
|
25
|
+
Mode.create( :mode_jeu => "Classe")
|
26
|
+
Mode.create( :mode_jeu => "Aventure")
|
27
|
+
|
28
|
+
# unJoueur = GestionBase.ajouterJoueur("corentin")
|
29
|
+
# unJoueur2 = GestionBase.ajouterJoueur("alexis")
|
30
|
+
|
31
|
+
# Ajoute toutes les grilles de différentes difficultés à la base
|
32
|
+
fichiers.each do |difficulte|
|
33
|
+
Difficulte.create( :niveau => difficulte )
|
34
|
+
SerGrille.transformeSerial2(difficulte)
|
35
|
+
tabGrille = SerGrille.deserialiseVide(difficulte)
|
36
|
+
idDifficulte = Difficulte.find_by_niveau(difficulte).id
|
37
|
+
puts "difficulté: #{idDifficulte}"
|
38
|
+
idMode = 1
|
39
|
+
puts "nb grilles: #{tabGrille.length}"
|
40
|
+
#puts tabGrille
|
41
|
+
tabGrille.each do |grille|
|
42
|
+
#puts "idMode: #{idMode}"
|
43
|
+
# puts "Grille: #{grille}, tabLien: "
|
44
|
+
x = grille.tabLien.length + (idDifficulte / 2.0) - 1
|
45
|
+
tempsMoyen = 3.6 * x * x - 34 * x + 120
|
46
|
+
tempsMax = 3 * tempsMoyen
|
47
|
+
scoreMax = tempsMax + 500 - (3 * (7 - idDifficulte))
|
48
|
+
# puts YAML.dump(grille)
|
49
|
+
GrilleDb.create(:grilleSolution => YAML.dump(grille), :difficultes_id => idDifficulte, :modes_id => idMode, :scoreMax => scoreMax, :tempsMoyen => tempsMoyen, :tempsMax => tempsMax)
|
50
|
+
idMode = (idMode % 3) + 1
|
51
|
+
end
|
52
|
+
|
53
|
+
end
|
54
|
+
TestBase.updateScore
|
55
|
+
#grille=GrilleDb.create(:grilleSolution => "1__5HHH", :niveau =>1, :mode_jeu => 3)
|
56
|
+
#GrilleDb.create(:grilleSolution => "1__5HHH", :niveau =>2, :mode_jeu => 3)
|
57
|
+
#GrilleDb.create(:grilleSolution => "1__5HHH", :niveau =>3, :mode_jeu => 3)
|
58
|
+
|
59
|
+
#grille4=GrilleDb.create(:grilleSolution => "1__5HHH", :niveau_id =>3, :mode_jeu => 2)
|
60
|
+
end
|
61
|
+
|
62
|
+
def TestBase.test2
|
63
|
+
# grille1 = GestionBase.recupGrilles(1).first
|
64
|
+
# Joue.create( :joueurs_id => 1, :grille_dbs_id => 1,:grilleSer => nil, :score => 2521)
|
65
|
+
# Joue.create( :joueurs_id => 1, :grille_dbs_id => 4,:grilleSer => grille1, :score => 3210)
|
66
|
+
# Joue.create( :joueurs_id => 1, :grille_dbs_id => 3,:grilleSer => "1__5___;", :score => 1)
|
67
|
+
# Joue.create( :joueurs_id => 1, :grille_dbs_id => 2,:grilleSer => "1__5___;", :score => 2)
|
68
|
+
|
69
|
+
# puts(GestionBase.recupJoueur("corentin"))
|
70
|
+
# puts "|#{GestionBase.recupJoueur("robin") == nil}|"
|
71
|
+
# puts(GestionBase.recupDifficulte(grille.id))
|
72
|
+
# puts(GestionBase.recupMode(grille4.id))
|
73
|
+
# puts(GestionBase.recupScoreTotal(1))
|
74
|
+
# puts(GestionBase.recupNbGrillesJouees(1))
|
75
|
+
# puts "Joueur 4 nb: #{GestionBase.recupNbGrillesJouees(4) == nil}"
|
76
|
+
idJoueur = 2
|
77
|
+
idDifficulte = 1
|
78
|
+
idMode = 1
|
79
|
+
GestionBase.recupGrilles(idJoueur, idDifficulte, idMode, 0, 12).each do |grilleDb|
|
80
|
+
#puts "#{grilleDb}"
|
81
|
+
#puts "#{grilleDb.grilleSolution}"
|
82
|
+
grille = YAML.load(grilleDb.grilleSolution)
|
83
|
+
#puts "#{grille}"
|
84
|
+
# grille.clicTriangle(grille.tabCase[0], 1)
|
85
|
+
puts "ID: #{grilleDb.id}, Hauteur: #{grille.hauteur}, largeur: #{grille.largeur}, classe: #{grille.class}, scoreMax: #{grilleDb.scoreMax}, tempsMoyen: #{grilleDb.tempsMoyen}"
|
86
|
+
# puts "Solution: Hauteur: #{grille.grilleRes.hauteur}, largeur: #{grille.grilleRes.largeur}, classe: #{grille.grilleRes.class}"
|
87
|
+
#puts "avant grilleDb ser: #{YAML.dump(grille).largeur}"
|
88
|
+
grilleDb.grilleSolution = YAML.dump(grille)
|
89
|
+
#puts "grilleDb ser: #{grilleDb.grilleSolution.largeur}"
|
90
|
+
GestionBase.changerScore(idJoueur, grilleDb, 200)
|
91
|
+
|
92
|
+
puts "Score de la grille #{grilleDb.id}: #{GestionBase.recupScore(idJoueur, grilleDb)}"
|
93
|
+
end
|
94
|
+
|
95
|
+
puts GestionBase.recupJoueurAll
|
96
|
+
|
97
|
+
puts "Score total de joueur 2 difficulté facile: #{GestionBase.recupScoreTotal(idJoueur, 1)}"
|
98
|
+
# puts "Grilles: "
|
99
|
+
# puts GestionBase.recupGrilles(1)
|
100
|
+
# puts "Nil?"
|
101
|
+
# puts "|#{GestionBase.recupGrilles(2) == nil}|"
|
102
|
+
# puts "|#{GestionBase.recupGrilles(3) == nil}|"
|
103
|
+
# puts (GestionBase.changeScore(1, 1, 50))
|
104
|
+
# puts(GestionBase.recupScoreTotal(1))
|
105
|
+
# puts (GestionBase.changeScore(2, 1, 650))
|
106
|
+
#tab=Joue.where([ "joueurs_id = ?", 1 ]).select {|joue| GestionBase.recupMode(GrilleDb.find(joue.grille_dbs_id).id)}# == "Classe"}
|
107
|
+
#puts "Tableau"
|
108
|
+
#puts tab
|
109
|
+
#puts "Somme"
|
110
|
+
#score = tab.select{ |joue| GestionBase.recupMode(GrilleDb.find(joue.grille_dbs_id).id).mode_jeu == "Classe"}
|
111
|
+
#p score
|
112
|
+
#puts score.inject(0) { |score, joue| score += joue.score }
|
113
|
+
end
|
114
|
+
|
115
|
+
def TestBase.updateScore
|
116
|
+
fichiers = ["Facile", "Moyen", "Difficile"]
|
117
|
+
|
118
|
+
puts "Attribution des scores maximum et temps moyen de résolution..."
|
119
|
+
|
120
|
+
GrilleDb.all.each do |grilleDb|
|
121
|
+
idDifficulte = grilleDb.difficultes_id
|
122
|
+
grille = YAML.load(grilleDb.grilleSolution)
|
123
|
+
#puts tabGrille
|
124
|
+
#puts "idMode: #{idMode}"
|
125
|
+
# puts "Grille: #{grille}, tabLien: "
|
126
|
+
x = grille.hauteur + (idDifficulte / 2.0) - 1
|
127
|
+
tempsMoyen = 3.6 * x * x - 34 * x + 120
|
128
|
+
tempsMax = 3 * tempsMoyen
|
129
|
+
scoreMax = tempsMax + 500 - (3 * (7 - idDifficulte))
|
130
|
+
#puts "x: #{x}, scoreMax: #{scoreMax}, tempsMoyen: #{tempsMoyen}"
|
131
|
+
grilleDb.update(scoreMax: scoreMax, tempsMoyen: tempsMoyen, tempsMax: tempsMax)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
def TestBase.reinitialiser
|
136
|
+
Joue.delete_all
|
137
|
+
end
|
138
|
+
|
139
|
+
end
|
140
|
+
|
141
|
+
TestBase.genererBase
|
142
|
+
#TestBase.updateScore
|
143
|
+
#TestBase.reinitialiser
|
144
|
+
#puts GestionBase.recupGrilleAleatoire(2, 1, 2)
|
data/bin/db/base.sqlite
ADDED
Binary file
|