diff --git a/assets/wallpaper b/assets/wallpaper deleted file mode 120000 index 2fd6ef9..0000000 --- a/assets/wallpaper +++ /dev/null @@ -1 +0,0 @@ -/home/jgh/Dokumente/wallpaper/ \ No newline at end of file diff --git a/assets/wallpaper/3d-tech.jpg b/assets/wallpaper/3d-tech.jpg new file mode 100644 index 0000000..93e7249 Binary files /dev/null and b/assets/wallpaper/3d-tech.jpg differ diff --git a/assets/wallpaper/3d-white-particle-wave-pattern.jpg b/assets/wallpaper/3d-white-particle-wave-pattern.jpg new file mode 100644 index 0000000..0c8e580 Binary files /dev/null and b/assets/wallpaper/3d-white-particle-wave-pattern.jpg differ diff --git a/assets/wallpaper/ArchThinkpad.jpg b/assets/wallpaper/ArchThinkpad.jpg new file mode 100644 index 0000000..f8fe5da Binary files /dev/null and b/assets/wallpaper/ArchThinkpad.jpg differ diff --git a/assets/wallpaper/Fantasy-Autumn.png b/assets/wallpaper/Fantasy-Autumn.png new file mode 100644 index 0000000..15fca54 Binary files /dev/null and b/assets/wallpaper/Fantasy-Autumn.png differ diff --git a/assets/wallpaper/Fantasy-Landscape3.png b/assets/wallpaper/Fantasy-Landscape3.png new file mode 100644 index 0000000..79e1308 Binary files /dev/null and b/assets/wallpaper/Fantasy-Landscape3.png differ diff --git a/assets/wallpaper/GruberMischa.png b/assets/wallpaper/GruberMischa.png new file mode 100644 index 0000000..d96da7e Binary files /dev/null and b/assets/wallpaper/GruberMischa.png differ diff --git a/assets/wallpaper/Matrix-Rain.gif b/assets/wallpaper/Matrix-Rain.gif new file mode 100644 index 0000000..7315776 Binary files /dev/null and b/assets/wallpaper/Matrix-Rain.gif differ diff --git a/assets/wallpaper/Nocturne-of-Steel-and-Glass.png b/assets/wallpaper/Nocturne-of-Steel-and-Glass.png new file mode 100644 index 0000000..aa4935e Binary files /dev/null and b/assets/wallpaper/Nocturne-of-Steel-and-Glass.png differ diff --git a/assets/wallpaper/Quartic_Formula.svg b/assets/wallpaper/Quartic_Formula.svg new file mode 100644 index 0000000..317ca87 --- /dev/null +++ b/assets/wallpaper/Quartic_Formula.svg @@ -0,0 +1,2559 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/wallpaper/Solitary-Glow.png b/assets/wallpaper/Solitary-Glow.png new file mode 100644 index 0000000..459e17a Binary files /dev/null and b/assets/wallpaper/Solitary-Glow.png differ diff --git a/assets/wallpaper/Space-Nebula.png b/assets/wallpaper/Space-Nebula.png new file mode 100644 index 0000000..8446748 Binary files /dev/null and b/assets/wallpaper/Space-Nebula.png differ diff --git a/assets/wallpaper/abstract-apple.jpg b/assets/wallpaper/abstract-apple.jpg new file mode 100644 index 0000000..f192121 Binary files /dev/null and b/assets/wallpaper/abstract-apple.jpg differ diff --git a/assets/wallpaper/abstract-black-gold-squares.jpg b/assets/wallpaper/abstract-black-gold-squares.jpg new file mode 100644 index 0000000..18ee4fd Binary files /dev/null and b/assets/wallpaper/abstract-black-gold-squares.jpg differ diff --git a/assets/wallpaper/abstract-colorful-circles.jpg b/assets/wallpaper/abstract-colorful-circles.jpg new file mode 100644 index 0000000..9c9376a Binary files /dev/null and b/assets/wallpaper/abstract-colorful-circles.jpg differ diff --git a/assets/wallpaper/abstract-multicolor-swirling.jpg b/assets/wallpaper/abstract-multicolor-swirling.jpg new file mode 100644 index 0000000..3a0864d Binary files /dev/null and b/assets/wallpaper/abstract-multicolor-swirling.jpg differ diff --git a/assets/wallpaper/adwaita-d.jpg b/assets/wallpaper/adwaita-d.jpg new file mode 100644 index 0000000..ebee211 Binary files /dev/null and b/assets/wallpaper/adwaita-d.jpg differ diff --git a/assets/wallpaper/adwaita-l.jpg b/assets/wallpaper/adwaita-l.jpg new file mode 100644 index 0000000..d6e5a3b Binary files /dev/null and b/assets/wallpaper/adwaita-l.jpg differ diff --git a/assets/wallpaper/aesthetic_deer.jpg b/assets/wallpaper/aesthetic_deer.jpg new file mode 100644 index 0000000..92b6fec Binary files /dev/null and b/assets/wallpaper/aesthetic_deer.jpg differ diff --git a/assets/wallpaper/apex_octane.jpg b/assets/wallpaper/apex_octane.jpg new file mode 100644 index 0000000..832fd96 Binary files /dev/null and b/assets/wallpaper/apex_octane.jpg differ diff --git a/assets/wallpaper/apple-dark.jpg b/assets/wallpaper/apple-dark.jpg new file mode 100644 index 0000000..cebebf5 Binary files /dev/null and b/assets/wallpaper/apple-dark.jpg differ diff --git a/assets/wallpaper/apple-light.jpg b/assets/wallpaper/apple-light.jpg new file mode 100644 index 0000000..75ff3c0 Binary files /dev/null and b/assets/wallpaper/apple-light.jpg differ diff --git a/assets/wallpaper/apple-waves1.jpg b/assets/wallpaper/apple-waves1.jpg new file mode 100644 index 0000000..d582ed5 Binary files /dev/null and b/assets/wallpaper/apple-waves1.jpg differ diff --git a/assets/wallpaper/arch-dragon-wallpaper-1920x1080.jpg b/assets/wallpaper/arch-dragon-wallpaper-1920x1080.jpg new file mode 100644 index 0000000..6eaf534 Binary files /dev/null and b/assets/wallpaper/arch-dragon-wallpaper-1920x1080.jpg differ diff --git a/assets/wallpaper/arch-pulse-wallpaper-1920x1200.jpg b/assets/wallpaper/arch-pulse-wallpaper-1920x1200.jpg new file mode 100644 index 0000000..55d8bae Binary files /dev/null and b/assets/wallpaper/arch-pulse-wallpaper-1920x1200.jpg differ diff --git a/assets/wallpaper/arch-window-wallpaper-1920x1080.jpg b/assets/wallpaper/arch-window-wallpaper-1920x1080.jpg new file mode 100644 index 0000000..a4ee7f7 Binary files /dev/null and b/assets/wallpaper/arch-window-wallpaper-1920x1080.jpg differ diff --git a/assets/wallpaper/astronaut_jellyfish.jpg b/assets/wallpaper/astronaut_jellyfish.jpg new file mode 100644 index 0000000..77cd7e4 Binary files /dev/null and b/assets/wallpaper/astronaut_jellyfish.jpg differ diff --git a/assets/wallpaper/black-whole.jpg b/assets/wallpaper/black-whole.jpg new file mode 100644 index 0000000..994a193 Binary files /dev/null and b/assets/wallpaper/black-whole.jpg differ diff --git a/assets/wallpaper/black.png b/assets/wallpaper/black.png new file mode 100644 index 0000000..80457bd Binary files /dev/null and b/assets/wallpaper/black.png differ diff --git a/assets/wallpaper/bloodrock-steppes.png b/assets/wallpaper/bloodrock-steppes.png new file mode 100644 index 0000000..28f421e Binary files /dev/null and b/assets/wallpaper/bloodrock-steppes.png differ diff --git a/assets/wallpaper/blue_night_moon_over_lake.jpg b/assets/wallpaper/blue_night_moon_over_lake.jpg new file mode 100644 index 0000000..b5fb82f Binary files /dev/null and b/assets/wallpaper/blue_night_moon_over_lake.jpg differ diff --git a/assets/wallpaper/building_cyber.jpg b/assets/wallpaper/building_cyber.jpg new file mode 100644 index 0000000..4621e6d Binary files /dev/null and b/assets/wallpaper/building_cyber.jpg differ diff --git a/assets/wallpaper/calder-moore-aliencrack-01-copy.jpg b/assets/wallpaper/calder-moore-aliencrack-01-copy.jpg new file mode 100644 index 0000000..6f318e2 Binary files /dev/null and b/assets/wallpaper/calder-moore-aliencrack-01-copy.jpg differ diff --git a/assets/wallpaper/car_on_mars.jpg b/assets/wallpaper/car_on_mars.jpg new file mode 100644 index 0000000..d34f85f Binary files /dev/null and b/assets/wallpaper/car_on_mars.jpg differ diff --git a/assets/wallpaper/catching-the-desert.jpeg b/assets/wallpaper/catching-the-desert.jpeg new file mode 100644 index 0000000..ac9d56f Binary files /dev/null and b/assets/wallpaper/catching-the-desert.jpeg differ diff --git a/assets/wallpaper/caveman.gif b/assets/wallpaper/caveman.gif new file mode 100644 index 0000000..b4eb84b Binary files /dev/null and b/assets/wallpaper/caveman.gif differ diff --git a/assets/wallpaper/celebration-winter-nights.jpg b/assets/wallpaper/celebration-winter-nights.jpg new file mode 100644 index 0000000..1dde8f5 Binary files /dev/null and b/assets/wallpaper/celebration-winter-nights.jpg differ diff --git a/assets/wallpaper/city-from-above.jpg b/assets/wallpaper/city-from-above.jpg new file mode 100644 index 0000000..161f9f6 Binary files /dev/null and b/assets/wallpaper/city-from-above.jpg differ diff --git a/assets/wallpaper/city-rain.png b/assets/wallpaper/city-rain.png new file mode 100644 index 0000000..9ce91be Binary files /dev/null and b/assets/wallpaper/city-rain.png differ diff --git a/assets/wallpaper/city-skyline.jpg b/assets/wallpaper/city-skyline.jpg new file mode 100644 index 0000000..842ebb1 Binary files /dev/null and b/assets/wallpaper/city-skyline.jpg differ diff --git a/assets/wallpaper/city_bridge.jpg b/assets/wallpaper/city_bridge.jpg new file mode 100644 index 0000000..392a57f Binary files /dev/null and b/assets/wallpaper/city_bridge.jpg differ diff --git a/assets/wallpaper/city_top_view.jpg b/assets/wallpaper/city_top_view.jpg new file mode 100644 index 0000000..829205c Binary files /dev/null and b/assets/wallpaper/city_top_view.jpg differ diff --git a/assets/wallpaper/comet.jpg b/assets/wallpaper/comet.jpg new file mode 100644 index 0000000..7b9d8d7 Binary files /dev/null and b/assets/wallpaper/comet.jpg differ diff --git a/assets/wallpaper/copper_mountain.jpg b/assets/wallpaper/copper_mountain.jpg new file mode 100644 index 0000000..e5d2b34 Binary files /dev/null and b/assets/wallpaper/copper_mountain.jpg differ diff --git a/assets/wallpaper/corndog.png b/assets/wallpaper/corndog.png new file mode 100644 index 0000000..6d5fdfb Binary files /dev/null and b/assets/wallpaper/corndog.png differ diff --git a/assets/wallpaper/cyber.jpg b/assets/wallpaper/cyber.jpg new file mode 100644 index 0000000..e70a715 Binary files /dev/null and b/assets/wallpaper/cyber.jpg differ diff --git a/assets/wallpaper/dark-star.jpg b/assets/wallpaper/dark-star.jpg new file mode 100644 index 0000000..95f4501 Binary files /dev/null and b/assets/wallpaper/dark-star.jpg differ diff --git a/assets/wallpaper/dark-waves.jpg b/assets/wallpaper/dark-waves.jpg new file mode 100644 index 0000000..4e85a36 Binary files /dev/null and b/assets/wallpaper/dark-waves.jpg differ diff --git a/assets/wallpaper/dear.png b/assets/wallpaper/dear.png new file mode 100644 index 0000000..577db3f Binary files /dev/null and b/assets/wallpaper/dear.png differ diff --git a/assets/wallpaper/deer_and_sunset.jpg b/assets/wallpaper/deer_and_sunset.jpg new file mode 100644 index 0000000..92895f7 Binary files /dev/null and b/assets/wallpaper/deer_and_sunset.jpg differ diff --git a/assets/wallpaper/deer_in_pine_forest.jpg b/assets/wallpaper/deer_in_pine_forest.jpg new file mode 100644 index 0000000..9c367c0 Binary files /dev/null and b/assets/wallpaper/deer_in_pine_forest.jpg differ diff --git a/assets/wallpaper/default.jpg b/assets/wallpaper/default.jpg new file mode 100644 index 0000000..e2ef771 Binary files /dev/null and b/assets/wallpaper/default.jpg differ diff --git a/assets/wallpaper/dunes-sun.jpg b/assets/wallpaper/dunes-sun.jpg new file mode 100644 index 0000000..4dada0c Binary files /dev/null and b/assets/wallpaper/dunes-sun.jpg differ diff --git a/assets/wallpaper/earth-from-moon.jpg b/assets/wallpaper/earth-from-moon.jpg new file mode 100644 index 0000000..b13ea8f Binary files /dev/null and b/assets/wallpaper/earth-from-moon.jpg differ diff --git a/assets/wallpaper/elphant.jpg b/assets/wallpaper/elphant.jpg new file mode 100644 index 0000000..233ef69 Binary files /dev/null and b/assets/wallpaper/elphant.jpg differ diff --git a/assets/wallpaper/elphantJap.jpg b/assets/wallpaper/elphantJap.jpg new file mode 100644 index 0000000..dd93d9d Binary files /dev/null and b/assets/wallpaper/elphantJap.jpg differ diff --git a/assets/wallpaper/escape_velocity.jpg b/assets/wallpaper/escape_velocity.jpg new file mode 100644 index 0000000..6f50f1a Binary files /dev/null and b/assets/wallpaper/escape_velocity.jpg differ diff --git a/assets/wallpaper/evening-landscape.jpg b/assets/wallpaper/evening-landscape.jpg new file mode 100644 index 0000000..6a89076 Binary files /dev/null and b/assets/wallpaper/evening-landscape.jpg differ diff --git a/assets/wallpaper/expanse.jpg b/assets/wallpaper/expanse.jpg new file mode 100644 index 0000000..e591f68 Binary files /dev/null and b/assets/wallpaper/expanse.jpg differ diff --git a/assets/wallpaper/explorer-robot.png b/assets/wallpaper/explorer-robot.png new file mode 100644 index 0000000..880ed45 Binary files /dev/null and b/assets/wallpaper/explorer-robot.png differ diff --git a/assets/wallpaper/explorer_green_day.jpg b/assets/wallpaper/explorer_green_day.jpg new file mode 100644 index 0000000..a7f0894 Binary files /dev/null and b/assets/wallpaper/explorer_green_day.jpg differ diff --git a/assets/wallpaper/explorer_orange_sunset.jpg b/assets/wallpaper/explorer_orange_sunset.jpg new file mode 100644 index 0000000..1fd8b92 Binary files /dev/null and b/assets/wallpaper/explorer_orange_sunset.jpg differ diff --git a/assets/wallpaper/fish.jpg b/assets/wallpaper/fish.jpg new file mode 100644 index 0000000..d8554ba Binary files /dev/null and b/assets/wallpaper/fish.jpg differ diff --git a/assets/wallpaper/fish_2.jpg b/assets/wallpaper/fish_2.jpg new file mode 100644 index 0000000..0295c2a Binary files /dev/null and b/assets/wallpaper/fish_2.jpg differ diff --git a/assets/wallpaper/forest-landscape.jpg b/assets/wallpaper/forest-landscape.jpg new file mode 100644 index 0000000..98179db Binary files /dev/null and b/assets/wallpaper/forest-landscape.jpg differ diff --git a/assets/wallpaper/frozen-helium.jpg b/assets/wallpaper/frozen-helium.jpg new file mode 100644 index 0000000..fbcec0a Binary files /dev/null and b/assets/wallpaper/frozen-helium.jpg differ diff --git a/assets/wallpaper/gdtography.jpg b/assets/wallpaper/gdtography.jpg new file mode 100644 index 0000000..8259aa5 Binary files /dev/null and b/assets/wallpaper/gdtography.jpg differ diff --git a/assets/wallpaper/glowing-green-dew.jpg b/assets/wallpaper/glowing-green-dew.jpg new file mode 100644 index 0000000..a8e1664 Binary files /dev/null and b/assets/wallpaper/glowing-green-dew.jpg differ diff --git a/assets/wallpaper/green_sea.jpg b/assets/wallpaper/green_sea.jpg new file mode 100644 index 0000000..af8e65a Binary files /dev/null and b/assets/wallpaper/green_sea.jpg differ diff --git a/assets/wallpaper/groot_1.jpg b/assets/wallpaper/groot_1.jpg new file mode 100644 index 0000000..d0eb2fe Binary files /dev/null and b/assets/wallpaper/groot_1.jpg differ diff --git a/assets/wallpaper/headphones-paint-color-splash.jpg b/assets/wallpaper/headphones-paint-color-splash.jpg new file mode 100644 index 0000000..a119343 Binary files /dev/null and b/assets/wallpaper/headphones-paint-color-splash.jpg differ diff --git a/assets/wallpaper/highlands-grid.jpg b/assets/wallpaper/highlands-grid.jpg new file mode 100644 index 0000000..b201220 Binary files /dev/null and b/assets/wallpaper/highlands-grid.jpg differ diff --git a/assets/wallpaper/honkadaloonga.png b/assets/wallpaper/honkadaloonga.png new file mode 100644 index 0000000..ad2b567 Binary files /dev/null and b/assets/wallpaper/honkadaloonga.png differ diff --git a/assets/wallpaper/hyprland.jpg b/assets/wallpaper/hyprland.jpg new file mode 100644 index 0000000..518ff42 Binary files /dev/null and b/assets/wallpaper/hyprland.jpg differ diff --git a/assets/wallpaper/italy.png b/assets/wallpaper/italy.png new file mode 100644 index 0000000..b1691bc Binary files /dev/null and b/assets/wallpaper/italy.png differ diff --git a/assets/wallpaper/kath.jpg b/assets/wallpaper/kath.jpg new file mode 100644 index 0000000..36924f4 Binary files /dev/null and b/assets/wallpaper/kath.jpg differ diff --git a/assets/wallpaper/lagrugru.jpg b/assets/wallpaper/lagrugru.jpg new file mode 100644 index 0000000..61f7ce8 Binary files /dev/null and b/assets/wallpaper/lagrugru.jpg differ diff --git a/assets/wallpaper/landscape-abstract-neon.jpg b/assets/wallpaper/landscape-abstract-neon.jpg new file mode 100644 index 0000000..a3a3267 Binary files /dev/null and b/assets/wallpaper/landscape-abstract-neon.jpg differ diff --git a/assets/wallpaper/landscape.jpg b/assets/wallpaper/landscape.jpg new file mode 100644 index 0000000..bdd6e7e Binary files /dev/null and b/assets/wallpaper/landscape.jpg differ diff --git a/assets/wallpaper/lion_galaxy_purple.jpg b/assets/wallpaper/lion_galaxy_purple.jpg new file mode 100644 index 0000000..ef678d3 Binary files /dev/null and b/assets/wallpaper/lion_galaxy_purple.jpg differ diff --git a/assets/wallpaper/liquid1.jpg b/assets/wallpaper/liquid1.jpg new file mode 100644 index 0000000..d0efca6 Binary files /dev/null and b/assets/wallpaper/liquid1.jpg differ diff --git a/assets/wallpaper/liquid2.jpg b/assets/wallpaper/liquid2.jpg new file mode 100644 index 0000000..9fb7841 Binary files /dev/null and b/assets/wallpaper/liquid2.jpg differ diff --git a/assets/wallpaper/lofoten-sundown.jpg b/assets/wallpaper/lofoten-sundown.jpg new file mode 100644 index 0000000..f0c3c06 Binary files /dev/null and b/assets/wallpaper/lofoten-sundown.jpg differ diff --git a/assets/wallpaper/lofoten1.jpg b/assets/wallpaper/lofoten1.jpg new file mode 100644 index 0000000..445d418 Binary files /dev/null and b/assets/wallpaper/lofoten1.jpg differ diff --git a/assets/wallpaper/lofoten2.jpg b/assets/wallpaper/lofoten2.jpg new file mode 100644 index 0000000..995ac33 Binary files /dev/null and b/assets/wallpaper/lofoten2.jpg differ diff --git a/assets/wallpaper/marina-bay-sands.png b/assets/wallpaper/marina-bay-sands.png new file mode 100644 index 0000000..2aaa648 Binary files /dev/null and b/assets/wallpaper/marina-bay-sands.png differ diff --git a/assets/wallpaper/midnight-reflections-moonlit-sea.jpg b/assets/wallpaper/midnight-reflections-moonlit-sea.jpg new file mode 100644 index 0000000..4f9c4e5 Binary files /dev/null and b/assets/wallpaper/midnight-reflections-moonlit-sea.jpg differ diff --git a/assets/wallpaper/miracleOS_dark.jpg b/assets/wallpaper/miracleOS_dark.jpg new file mode 100644 index 0000000..ba62c0d Binary files /dev/null and b/assets/wallpaper/miracleOS_dark.jpg differ diff --git a/assets/wallpaper/miracleOS_light.jpg b/assets/wallpaper/miracleOS_light.jpg new file mode 100644 index 0000000..1ac4ccc Binary files /dev/null and b/assets/wallpaper/miracleOS_light.jpg differ diff --git a/assets/wallpaper/moonlight.jpg b/assets/wallpaper/moonlight.jpg new file mode 100644 index 0000000..080c9b9 Binary files /dev/null and b/assets/wallpaper/moonlight.jpg differ diff --git a/assets/wallpaper/mountain-lake.jpg b/assets/wallpaper/mountain-lake.jpg new file mode 100644 index 0000000..fa409b4 Binary files /dev/null and b/assets/wallpaper/mountain-lake.jpg differ diff --git a/assets/wallpaper/mountain-sunrise.jpg b/assets/wallpaper/mountain-sunrise.jpg new file mode 100644 index 0000000..dde3584 Binary files /dev/null and b/assets/wallpaper/mountain-sunrise.jpg differ diff --git a/assets/wallpaper/mountain-winter-sun.jpg b/assets/wallpaper/mountain-winter-sun.jpg new file mode 100644 index 0000000..4798e10 Binary files /dev/null and b/assets/wallpaper/mountain-winter-sun.jpg differ diff --git a/assets/wallpaper/mountain-winter1.jpg b/assets/wallpaper/mountain-winter1.jpg new file mode 100644 index 0000000..dbb046e Binary files /dev/null and b/assets/wallpaper/mountain-winter1.jpg differ diff --git a/assets/wallpaper/mountain-winter3.jpg b/assets/wallpaper/mountain-winter3.jpg new file mode 100644 index 0000000..a7bc1ec Binary files /dev/null and b/assets/wallpaper/mountain-winter3.jpg differ diff --git a/assets/wallpaper/mountain.jpg b/assets/wallpaper/mountain.jpg new file mode 100644 index 0000000..c6f476e Binary files /dev/null and b/assets/wallpaper/mountain.jpg differ diff --git a/assets/wallpaper/mountain_view.jpg b/assets/wallpaper/mountain_view.jpg new file mode 100644 index 0000000..efe08ec Binary files /dev/null and b/assets/wallpaper/mountain_view.jpg differ diff --git a/assets/wallpaper/mountains-with-sky.jpg b/assets/wallpaper/mountains-with-sky.jpg new file mode 100644 index 0000000..cb1cc9a Binary files /dev/null and b/assets/wallpaper/mountains-with-sky.jpg differ diff --git a/assets/wallpaper/muscle-car-ice-road-red-moon.jpg b/assets/wallpaper/muscle-car-ice-road-red-moon.jpg new file mode 100644 index 0000000..45b7654 Binary files /dev/null and b/assets/wallpaper/muscle-car-ice-road-red-moon.jpg differ diff --git a/assets/wallpaper/mystical-night-in-town.jpg b/assets/wallpaper/mystical-night-in-town.jpg new file mode 100644 index 0000000..bd149c9 Binary files /dev/null and b/assets/wallpaper/mystical-night-in-town.jpg differ diff --git a/assets/wallpaper/nature.jpg b/assets/wallpaper/nature.jpg new file mode 100644 index 0000000..42d575c Binary files /dev/null and b/assets/wallpaper/nature.jpg differ diff --git a/assets/wallpaper/natures-mountain-waters.jpg b/assets/wallpaper/natures-mountain-waters.jpg new file mode 100644 index 0000000..9e6d525 Binary files /dev/null and b/assets/wallpaper/natures-mountain-waters.jpg differ diff --git a/assets/wallpaper/neon_car.jpg b/assets/wallpaper/neon_car.jpg new file mode 100644 index 0000000..02abb81 Binary files /dev/null and b/assets/wallpaper/neon_car.jpg differ diff --git a/assets/wallpaper/neon_city.jpg b/assets/wallpaper/neon_city.jpg new file mode 100644 index 0000000..db1ad64 Binary files /dev/null and b/assets/wallpaper/neon_city.jpg differ diff --git a/assets/wallpaper/neon_office.jpg b/assets/wallpaper/neon_office.jpg new file mode 100644 index 0000000..fbe65ea Binary files /dev/null and b/assets/wallpaper/neon_office.jpg differ diff --git a/assets/wallpaper/night_city.jpg b/assets/wallpaper/night_city.jpg new file mode 100644 index 0000000..aeef263 Binary files /dev/null and b/assets/wallpaper/night_city.jpg differ diff --git a/assets/wallpaper/no-mans-land.jpg b/assets/wallpaper/no-mans-land.jpg new file mode 100644 index 0000000..3c31c5c Binary files /dev/null and b/assets/wallpaper/no-mans-land.jpg differ diff --git a/assets/wallpaper/no-mans-sky-beach.jpg b/assets/wallpaper/no-mans-sky-beach.jpg new file mode 100644 index 0000000..ad416f4 Binary files /dev/null and b/assets/wallpaper/no-mans-sky-beach.jpg differ diff --git a/assets/wallpaper/no-mans-sky-game-shot-4k-xa.jpg b/assets/wallpaper/no-mans-sky-game-shot-4k-xa.jpg new file mode 100644 index 0000000..e34af15 Binary files /dev/null and b/assets/wallpaper/no-mans-sky-game-shot-4k-xa.jpg differ diff --git a/assets/wallpaper/no-mans-sky-oasis.jpg b/assets/wallpaper/no-mans-sky-oasis.jpg new file mode 100644 index 0000000..547a5cd Binary files /dev/null and b/assets/wallpaper/no-mans-sky-oasis.jpg differ diff --git a/assets/wallpaper/no-mans-sky-snow.jpeg b/assets/wallpaper/no-mans-sky-snow.jpeg new file mode 100644 index 0000000..e87ea75 Binary files /dev/null and b/assets/wallpaper/no-mans-sky-snow.jpeg differ diff --git a/assets/wallpaper/nordwall2.jpg b/assets/wallpaper/nordwall2.jpg new file mode 100644 index 0000000..ae68f12 Binary files /dev/null and b/assets/wallpaper/nordwall2.jpg differ diff --git a/assets/wallpaper/nordwall3.jpg b/assets/wallpaper/nordwall3.jpg new file mode 100644 index 0000000..c96f226 Binary files /dev/null and b/assets/wallpaper/nordwall3.jpg differ diff --git a/assets/wallpaper/northern-night.jpg b/assets/wallpaper/northern-night.jpg new file mode 100644 index 0000000..8193d53 Binary files /dev/null and b/assets/wallpaper/northern-night.jpg differ diff --git a/assets/wallpaper/onyx-flow.png b/assets/wallpaper/onyx-flow.png new file mode 100644 index 0000000..d5339df Binary files /dev/null and b/assets/wallpaper/onyx-flow.png differ diff --git a/assets/wallpaper/orange-desert.jpg b/assets/wallpaper/orange-desert.jpg new file mode 100644 index 0000000..4200d91 Binary files /dev/null and b/assets/wallpaper/orange-desert.jpg differ diff --git a/assets/wallpaper/pepe-dance-fullbody.gif b/assets/wallpaper/pepe-dance-fullbody.gif new file mode 100644 index 0000000..62178e1 Binary files /dev/null and b/assets/wallpaper/pepe-dance-fullbody.gif differ diff --git a/assets/wallpaper/pitstop.png b/assets/wallpaper/pitstop.png new file mode 100644 index 0000000..7d02ecb Binary files /dev/null and b/assets/wallpaper/pitstop.png differ diff --git a/assets/wallpaper/pitstop2.png b/assets/wallpaper/pitstop2.png new file mode 100644 index 0000000..45a21c1 Binary files /dev/null and b/assets/wallpaper/pitstop2.png differ diff --git a/assets/wallpaper/pixel-pepe.gif b/assets/wallpaper/pixel-pepe.gif new file mode 100644 index 0000000..268cae9 Binary files /dev/null and b/assets/wallpaper/pixel-pepe.gif differ diff --git a/assets/wallpaper/plasmawaves.png b/assets/wallpaper/plasmawaves.png new file mode 100644 index 0000000..b36a68a Binary files /dev/null and b/assets/wallpaper/plasmawaves.png differ diff --git a/assets/wallpaper/priyanuch_konkaew_unsplash.jpg b/assets/wallpaper/priyanuch_konkaew_unsplash.jpg new file mode 100644 index 0000000..b620065 Binary files /dev/null and b/assets/wallpaper/priyanuch_konkaew_unsplash.jpg differ diff --git a/assets/wallpaper/retro-truck.png b/assets/wallpaper/retro-truck.png new file mode 100644 index 0000000..2f9192b Binary files /dev/null and b/assets/wallpaper/retro-truck.png differ diff --git a/assets/wallpaper/river_to_castle_theme_blue.jpg b/assets/wallpaper/river_to_castle_theme_blue.jpg new file mode 100644 index 0000000..15be959 Binary files /dev/null and b/assets/wallpaper/river_to_castle_theme_blue.jpg differ diff --git a/assets/wallpaper/robot-home.png b/assets/wallpaper/robot-home.png new file mode 100644 index 0000000..9f7eefc Binary files /dev/null and b/assets/wallpaper/robot-home.png differ diff --git a/assets/wallpaper/rocket_launch.jpg b/assets/wallpaper/rocket_launch.jpg new file mode 100644 index 0000000..a6d9d6b Binary files /dev/null and b/assets/wallpaper/rocket_launch.jpg differ diff --git a/assets/wallpaper/rocky_land.jpg b/assets/wallpaper/rocky_land.jpg new file mode 100644 index 0000000..34fe6e6 Binary files /dev/null and b/assets/wallpaper/rocky_land.jpg differ diff --git a/assets/wallpaper/snowy-peace.png b/assets/wallpaper/snowy-peace.png new file mode 100644 index 0000000..78e1eb3 Binary files /dev/null and b/assets/wallpaper/snowy-peace.png differ diff --git a/assets/wallpaper/space-bullet.jpg b/assets/wallpaper/space-bullet.jpg new file mode 100644 index 0000000..d964087 Binary files /dev/null and b/assets/wallpaper/space-bullet.jpg differ diff --git a/assets/wallpaper/spaceship-start.jpg b/assets/wallpaper/spaceship-start.jpg new file mode 100644 index 0000000..522fb64 Binary files /dev/null and b/assets/wallpaper/spaceship-start.jpg differ diff --git a/assets/wallpaper/spaceship1.jpg b/assets/wallpaper/spaceship1.jpg new file mode 100644 index 0000000..70571f0 Binary files /dev/null and b/assets/wallpaper/spaceship1.jpg differ diff --git a/assets/wallpaper/spaceship2.jpg b/assets/wallpaper/spaceship2.jpg new file mode 100644 index 0000000..7f25bcf Binary files /dev/null and b/assets/wallpaper/spaceship2.jpg differ diff --git a/assets/wallpaper/spaceshuttle.png b/assets/wallpaper/spaceshuttle.png new file mode 100644 index 0000000..050d4d4 Binary files /dev/null and b/assets/wallpaper/spaceshuttle.png differ diff --git a/assets/wallpaper/sunset-01.png b/assets/wallpaper/sunset-01.png new file mode 100644 index 0000000..2809c5e Binary files /dev/null and b/assets/wallpaper/sunset-01.png differ diff --git a/assets/wallpaper/sunset-10.jpg b/assets/wallpaper/sunset-10.jpg new file mode 100644 index 0000000..6572190 Binary files /dev/null and b/assets/wallpaper/sunset-10.jpg differ diff --git a/assets/wallpaper/sunset-drive-forest.jpg b/assets/wallpaper/sunset-drive-forest.jpg new file mode 100644 index 0000000..c44a173 Binary files /dev/null and b/assets/wallpaper/sunset-drive-forest.jpg differ diff --git a/assets/wallpaper/sunset-in-thick-forest.jpg b/assets/wallpaper/sunset-in-thick-forest.jpg new file mode 100644 index 0000000..1f0f089 Binary files /dev/null and b/assets/wallpaper/sunset-in-thick-forest.jpg differ diff --git a/assets/wallpaper/sunset-lookout.jpg b/assets/wallpaper/sunset-lookout.jpg new file mode 100644 index 0000000..9903987 Binary files /dev/null and b/assets/wallpaper/sunset-lookout.jpg differ diff --git a/assets/wallpaper/sunset-mountain-beautiful.jpg b/assets/wallpaper/sunset-mountain-beautiful.jpg new file mode 100644 index 0000000..37646ae Binary files /dev/null and b/assets/wallpaper/sunset-mountain-beautiful.jpg differ diff --git a/assets/wallpaper/swirling.png b/assets/wallpaper/swirling.png new file mode 100644 index 0000000..d601eef Binary files /dev/null and b/assets/wallpaper/swirling.png differ diff --git a/assets/wallpaper/technical.jpg b/assets/wallpaper/technical.jpg new file mode 100644 index 0000000..93e7249 Binary files /dev/null and b/assets/wallpaper/technical.jpg differ diff --git a/assets/wallpaper/the-snap-hunt-camping.png b/assets/wallpaper/the-snap-hunt-camping.png new file mode 100644 index 0000000..079a66f Binary files /dev/null and b/assets/wallpaper/the-snap-hunt-camping.png differ diff --git a/assets/wallpaper/the-sphere.png b/assets/wallpaper/the-sphere.png new file mode 100644 index 0000000..ca8a95d Binary files /dev/null and b/assets/wallpaper/the-sphere.png differ diff --git a/assets/wallpaper/the-sphere2.png b/assets/wallpaper/the-sphere2.png new file mode 100644 index 0000000..308e0af Binary files /dev/null and b/assets/wallpaper/the-sphere2.png differ diff --git a/assets/wallpaper/tree.jpg b/assets/wallpaper/tree.jpg new file mode 100644 index 0000000..8428601 Binary files /dev/null and b/assets/wallpaper/tree.jpg differ diff --git a/assets/wallpaper/tron_legacy1.jpg b/assets/wallpaper/tron_legacy1.jpg new file mode 100644 index 0000000..a612f4c Binary files /dev/null and b/assets/wallpaper/tron_legacy1.jpg differ diff --git a/assets/wallpaper/tron_legacy2.jpg b/assets/wallpaper/tron_legacy2.jpg new file mode 100644 index 0000000..7a38966 Binary files /dev/null and b/assets/wallpaper/tron_legacy2.jpg differ diff --git a/assets/wallpaper/tron_legacy4.jpg b/assets/wallpaper/tron_legacy4.jpg new file mode 100644 index 0000000..6720cd9 Binary files /dev/null and b/assets/wallpaper/tron_legacy4.jpg differ diff --git a/assets/wallpaper/tron_legacy5.jpg b/assets/wallpaper/tron_legacy5.jpg new file mode 100644 index 0000000..0fc6755 Binary files /dev/null and b/assets/wallpaper/tron_legacy5.jpg differ diff --git a/assets/wallpaper/tron_legacy6.jpg b/assets/wallpaper/tron_legacy6.jpg new file mode 100644 index 0000000..2b544f2 Binary files /dev/null and b/assets/wallpaper/tron_legacy6.jpg differ diff --git a/assets/wallpaper/wallhaven1.jpg b/assets/wallpaper/wallhaven1.jpg new file mode 100644 index 0000000..0830aa5 Binary files /dev/null and b/assets/wallpaper/wallhaven1.jpg differ diff --git a/assets/wallpaper/wallhaven3.jpg b/assets/wallpaper/wallhaven3.jpg new file mode 100644 index 0000000..b760677 Binary files /dev/null and b/assets/wallpaper/wallhaven3.jpg differ diff --git a/assets/wallpaper/wallhaven4.jpg b/assets/wallpaper/wallhaven4.jpg new file mode 100644 index 0000000..10bc62a Binary files /dev/null and b/assets/wallpaper/wallhaven4.jpg differ diff --git a/assets/wallpaper/wallkingCow.gif b/assets/wallpaper/wallkingCow.gif new file mode 100644 index 0000000..bb11a0a Binary files /dev/null and b/assets/wallpaper/wallkingCow.gif differ diff --git a/assets/wallpaper/wallpapersCameron/ARCH_bubblessvg_v2_5120px.png b/assets/wallpaper/wallpapersCameron/ARCH_bubblessvg_v2_5120px.png new file mode 100644 index 0000000..1153a7b Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/ARCH_bubblessvg_v2_5120px.png differ diff --git a/assets/wallpaper/wallpapersCameron/Arch-linux-pixelated.png b/assets/wallpaper/wallpapersCameron/Arch-linux-pixelated.png new file mode 100644 index 0000000..0613d2a Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Arch-linux-pixelated.png differ diff --git a/assets/wallpaper/wallpapersCameron/Arch-linux-something-blue-in-the-middle.jpg b/assets/wallpaper/wallpapersCameron/Arch-linux-something-blue-in-the-middle.jpg new file mode 100644 index 0000000..16bee3f Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Arch-linux-something-blue-in-the-middle.jpg differ diff --git a/assets/wallpaper/wallpapersCameron/Arch-logo-black-stripes.png b/assets/wallpaper/wallpapersCameron/Arch-logo-black-stripes.png new file mode 100644 index 0000000..151ccc2 Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Arch-logo-black-stripes.png differ diff --git a/assets/wallpaper/wallpapersCameron/Arch-logo-grayish-background.png b/assets/wallpaper/wallpapersCameron/Arch-logo-grayish-background.png new file mode 100644 index 0000000..5787ddb Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Arch-logo-grayish-background.png differ diff --git a/assets/wallpaper/wallpapersCameron/Arch-triangles-bacl-white.jpeg b/assets/wallpaper/wallpapersCameron/Arch-triangles-bacl-white.jpeg new file mode 100644 index 0000000..2a45c1f Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Arch-triangles-bacl-white.jpeg differ diff --git a/assets/wallpaper/wallpapersCameron/Black_colour.jpg b/assets/wallpaper/wallpapersCameron/Black_colour.jpg new file mode 100644 index 0000000..b2b12c4 Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Black_colour.jpg differ diff --git a/assets/wallpaper/wallpapersCameron/Carrot_One-Piece.jpg b/assets/wallpaper/wallpapersCameron/Carrot_One-Piece.jpg new file mode 100644 index 0000000..49a164e Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Carrot_One-Piece.jpg differ diff --git a/assets/wallpaper/wallpapersCameron/Catsune_Miku_on_bed_dekstop-ver.png b/assets/wallpaper/wallpapersCameron/Catsune_Miku_on_bed_dekstop-ver.png new file mode 100644 index 0000000..7d7ec47 Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Catsune_Miku_on_bed_dekstop-ver.png differ diff --git a/assets/wallpaper/wallpapersCameron/Catsune_Miku_on_bed_phone-ver.png b/assets/wallpaper/wallpapersCameron/Catsune_Miku_on_bed_phone-ver.png new file mode 100644 index 0000000..d2f815a Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Catsune_Miku_on_bed_phone-ver.png differ diff --git a/assets/wallpaper/wallpapersCameron/I-use-Arch-btw-Hatsune-Miku.png b/assets/wallpaper/wallpapersCameron/I-use-Arch-btw-Hatsune-Miku.png new file mode 100644 index 0000000..e866e3c Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/I-use-Arch-btw-Hatsune-Miku.png differ diff --git a/assets/wallpaper/wallpapersCameron/I-use-arch-btw-sticker-black-background.jpg b/assets/wallpaper/wallpapersCameron/I-use-arch-btw-sticker-black-background.jpg new file mode 100644 index 0000000..0c16761 Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/I-use-arch-btw-sticker-black-background.jpg differ diff --git a/assets/wallpaper/wallpapersCameron/I-use-arch-btw-sticker.png b/assets/wallpaper/wallpapersCameron/I-use-arch-btw-sticker.png new file mode 100644 index 0000000..e71fe93 Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/I-use-arch-btw-sticker.png differ diff --git a/assets/wallpaper/wallpapersCameron/I-use-arch-btw1.png b/assets/wallpaper/wallpapersCameron/I-use-arch-btw1.png new file mode 100644 index 0000000..d456a62 Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/I-use-arch-btw1.png differ diff --git a/assets/wallpaper/wallpapersCameron/I-use-arch-btw2.png b/assets/wallpaper/wallpapersCameron/I-use-arch-btw2.png new file mode 100644 index 0000000..86c4080 Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/I-use-arch-btw2.png differ diff --git a/assets/wallpaper/wallpapersCameron/Monkey-D-Ruffy_Gear5.jpg b/assets/wallpaper/wallpapersCameron/Monkey-D-Ruffy_Gear5.jpg new file mode 100644 index 0000000..53364ac Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Monkey-D-Ruffy_Gear5.jpg differ diff --git a/assets/wallpaper/wallpapersCameron/Reiju_One_Piece_in_space.png b/assets/wallpaper/wallpapersCameron/Reiju_One_Piece_in_space.png new file mode 100644 index 0000000..4d45dcd Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Reiju_One_Piece_in_space.png differ diff --git a/assets/wallpaper/wallpapersCameron/Reiju_One_Piece_smirking.png b/assets/wallpaper/wallpapersCameron/Reiju_One_Piece_smirking.png new file mode 100644 index 0000000..252e31d Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Reiju_One_Piece_smirking.png differ diff --git a/assets/wallpaper/wallpapersCameron/Uta_One-Piece.png b/assets/wallpaper/wallpapersCameron/Uta_One-Piece.png new file mode 100644 index 0000000..5d86f17 Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/Uta_One-Piece.png differ diff --git a/assets/wallpaper/wallpapersCameron/aqua-arch-logo-on-back.jpg b/assets/wallpaper/wallpapersCameron/aqua-arch-logo-on-back.jpg new file mode 100644 index 0000000..ca1be42 Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/aqua-arch-logo-on-back.jpg differ diff --git a/assets/wallpaper/wallpapersCameron/arch_linux_feat_hatsune_miku_by_nesyah_de70pg7-fullview.jpg b/assets/wallpaper/wallpapersCameron/arch_linux_feat_hatsune_miku_by_nesyah_de70pg7-fullview.jpg new file mode 100644 index 0000000..1eb33d0 Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/arch_linux_feat_hatsune_miku_by_nesyah_de70pg7-fullview.jpg differ diff --git a/assets/wallpaper/wallpapersCameron/if-you-can-read-this-xord-is-still-working.jpg b/assets/wallpaper/wallpapersCameron/if-you-can-read-this-xord-is-still-working.jpg new file mode 100644 index 0000000..63e6a4e Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/if-you-can-read-this-xord-is-still-working.jpg differ diff --git a/assets/wallpaper/wallpapersCameron/keep-it-simple-stupid.png b/assets/wallpaper/wallpapersCameron/keep-it-simple-stupid.png new file mode 100644 index 0000000..72fcfab Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/keep-it-simple-stupid.png differ diff --git a/assets/wallpaper/wallpapersCameron/makepkg-not-war.png b/assets/wallpaper/wallpapersCameron/makepkg-not-war.png new file mode 100644 index 0000000..e587ec8 Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/makepkg-not-war.png differ diff --git a/assets/wallpaper/wallpapersCameron/vinsmoke_reiju_one_piece_topdown.png b/assets/wallpaper/wallpapersCameron/vinsmoke_reiju_one_piece_topdown.png new file mode 100644 index 0000000..f2cf3db Binary files /dev/null and b/assets/wallpaper/wallpapersCameron/vinsmoke_reiju_one_piece_topdown.png differ diff --git a/assets/wallpaper/watchtower-mountains-and-forests.jpg b/assets/wallpaper/watchtower-mountains-and-forests.jpg new file mode 100644 index 0000000..35aeda4 Binary files /dev/null and b/assets/wallpaper/watchtower-mountains-and-forests.jpg differ diff --git a/assets/wallpaper/winter-is-here.png b/assets/wallpaper/winter-is-here.png new file mode 100644 index 0000000..ae4af2a Binary files /dev/null and b/assets/wallpaper/winter-is-here.png differ diff --git a/assets/wallpaper/zucchini-coding-1024x576.png b/assets/wallpaper/zucchini-coding-1024x576.png new file mode 100644 index 0000000..f0b65f8 Binary files /dev/null and b/assets/wallpaper/zucchini-coding-1024x576.png differ diff --git a/index.html b/index.html index 8e9dce4..2ff7a3f 100644 --- a/index.html +++ b/index.html @@ -5,10 +5,22 @@

p5.js liberay by me

-
+

AbstractAlgorithms

-
- +
+ +
+
+
+

Agents doing stuff

+
+ +
+
+
+

Images manipulation

+
+
@@ -22,7 +34,7 @@ background-color: beige; } - #liberay { + .liberay { height: 600px; width: 600px; } @@ -34,5 +46,23 @@ margin: 0; } + .liberayDiv { + width: 470px; + margin: 10px; + padding: 10px; + border: 2px solid rgb(67, 0, 67); + border-radius: 10px; + box-shadow: 10px 10px 5px 0px rgba(0,0,0,0.75); + display: inline-block; + } + .liberayDiv:hover { + background-color: rgb(67, 0, 67); + color: white; + cursor: pointer; + } + + \ No newline at end of file diff --git a/liberay.html b/liberay.html index de56202..378d341 100644 --- a/liberay.html +++ b/liberay.html @@ -10,45 +10,119 @@ - - + + const sketches = sketchList.split(','); + const sizeValue = (sketchSize && !isNaN(parseInt(sketchSize))) ? parseInt(sketchSize) : 500; + + // ----- Created with ispiration from LLM AI ----- + function enableClickToOpenFullPage(iframeElement, sketchName) { + if (!iframeElement) return; + + + const tryInjectInside = () => { + try { + const doc = iframeElement.contentDocument || iframeElement.contentWindow?.document; + if (!doc) return false; + + if (iframeElement.hasAttribute('data-click-injected')) return true; + + const script = doc.createElement('script'); + script.textContent = ` + (function() { + // When user clicks anywhere inside the sketch content, open the same URL in a new tab + document.addEventListener('click', function(e) { + // Use window.parent.open to open the full loader page in a new tab + const fullUrl = window.location.href; + if (fullUrl && fullUrl !== 'about:blank') { + window.parent.open(fullUrl, '_blank'); + } + }); + })(); + `; + const target = doc.head || doc.body || doc.documentElement; + if (target) { + target.appendChild(script); + iframeElement.setAttribute('data-click-injected', 'true'); + console.log(`✓ click-to-open enabled (inside) for ${sketchName}`); + return true; + } + } catch (err) { + console.warn(`⚠️ cannot inject inside iframe (${sketchName}), using fallback`, err); + } + return false; + }; + + // Fallback + function addElementClickFallback() { + if (iframeElement.hasAttribute('data-fallback-click')) return; + iframeElement.addEventListener('click', (e) => { + if (iframeElement.src) { + window.open(iframeElement.src, '_blank'); + } + }); + iframeElement.setAttribute('data-fallback-click', 'true'); + console.log(`✓ click-to-open enabled (iframe border fallback) for ${sketchName}`); + } + + if (iframeElement.contentDocument && iframeElement.contentDocument.readyState === 'complete') { + if (!tryInjectInside()) addElementClickFallback(); + } else { + iframeElement.addEventListener('load', () => { + if (!tryInjectInside()) addElementClickFallback(); + }); + setTimeout(() => { + if (!tryInjectInside()) addElementClickFallback(); + }, 100); + } + } + + for (let sketch of sketches) { + const trimmedSketch = sketch.trim(); + if (!trimmedSketch) continue; + + const iframe = document.createElement('iframe'); + iframe.src = `loader.html?sketches=${encodeURIComponent(trimmedSketch)}`; + + iframe.style.width = sizeValue + 'px'; + iframe.style.height = sizeValue + 'px'; + + iframe.onload = () => { + console.log(`Loaded iframe for ${trimmedSketch}`); + }; + iframe.onerror = () => { + console.error(`Failed to load iframe for ${trimmedSketch}`); + }; + + enableClickToOpenFullPage(iframe, trimmedSketch); + + document.body.appendChild(iframe); + } + })(); + + + \ No newline at end of file diff --git a/sketches/2images.js b/sketches/2images.js index e75c3be..c206227 100644 --- a/sketches/2images.js +++ b/sketches/2images.js @@ -1,9 +1,13 @@ -function preload() { - img1 = loadImage('../assets/wallpaper/dear.png'); - img2 = loadImage('../assets/wallpaper/elphantJap.jpg'); -} +let img1, img2; -function setup() { +async function setup() { + try { + img1 = await loadImage('assets/wallpaper/dear.png'); + img2 = await loadImage('assets/wallpaper/elphantJap.jpg'); + } catch (err) { + console.error('Image load failed', err); + return; + } createCanvas(img1.width, img1.height); background(255, 255, 255) diff --git a/sketches/MarkovChain.js b/sketches/MarkovChain.js index b6b861a..8d6ae70 100644 --- a/sketches/MarkovChain.js +++ b/sketches/MarkovChain.js @@ -7,7 +7,7 @@ let cleanedText = ""; let wordToIndex = {}; async function setup() { - trainingText = await loadStrings('assets/text/TheSubspaceEmissaryWorldConquest.txt'); + trainingText = await loadStrings('assets/text/50shades.txt'); createCanvas(windowWidth, windowHeight); background(255, 255, 230); @@ -53,9 +53,9 @@ async function setup() { } } - textSize(19); + textSize(windowHeight / 18); console.log(finalText); - text(finalText, width / 2-400, height / 2, 800, height); + text(finalText, 10, 10, windowWidth-20, windowHeight-20); } function splitText(text) { diff --git a/sketches/image.js b/sketches/image.js index c4bdbb4..576ef84 100644 --- a/sketches/image.js +++ b/sketches/image.js @@ -1,9 +1,18 @@ -function preload() { - img1 = loadImage('assets/wallpaper/dear.png'); - img2 = loadImage('assets/wallpaper/elphantJap.jpg'); -} +async function setup() { + try { + img1 = await loadImage('assets/wallpaper/dear.png'); + console.log('img1 loaded'); + } catch (err) { + console.error('Failed to load dear.png', err); + } + + try { + img2 = await loadImage('assets/wallpaper/elphantJap.jpg'); + console.log('img2 loaded'); + } catch (err) { + console.error('Failed to load elphantJap.jpg', err); + } -function setup() { createCanvas(img1.width, img1.height); background(255, 255, 255) diff --git a/sketches/imageNoice.js b/sketches/imageNoice.js index 917771b..3ceb095 100644 --- a/sketches/imageNoice.js +++ b/sketches/imageNoice.js @@ -1,13 +1,24 @@ -function preload() { - img1 = loadImage('assets/wallpaper/Space-Nebula.png'); -} - -function setup() { +async function setup() { + img1 = await new Promise(resolve => loadImage('assets/wallpaper/lagrugru.jpg', resolve)); createCanvas(img1.width, img1.height); background(255, 255, 55) + // performance enhancmend (from LLM) + img1.loadPixels(); + for (let y = 0; y < img1.height; y++) { + for (let x = 0; x < img1.width; x++) { + let idx = (x + y * img1.width) * 4; + let r = img1.pixels[idx]; + let g = img1.pixels[idx+1]; + let b = img1.pixels[idx+2]; + let sum = r + g + b; + let threshold = random(0, 255) * 3; + set(x, y, sum < threshold ? color(0) : color(255)); + } + } + updatePixels(); - //image(img1, 0, 0); - + //original code (works to but somettimes not good for bigger images) +/* for (let col = 0; col < img1.width; col += 1) { for (let row = 0; row < img1.height; row += 1) { let c = img1.get(col, row); @@ -26,6 +37,8 @@ function setup() { point(col, row); } } + console.log('finished'); +*/ } diff --git a/sketches/snake.js b/sketches/snake.js index cd2fa1a..8737921 100644 --- a/sketches/snake.js +++ b/sketches/snake.js @@ -98,21 +98,21 @@ function buttonUpgradeAIPressed(){ break; case "wallDetection": - AItype = "nearApple"; + AItype = "snakeDetection"; UpgradeAIPrice = 12; break; + case "snakeDetection": + AItype = "nearApple"; + UpgradeAIPrice = 25; + break; + case "nearApple": AItype = "appleBias"; - UpgradeAIPrice = 25; - break; - - case "appleBias": - AItype = "snakeDetection"; UpgradeAIPrice = 50; break; - case "snakeDetection": + case "appleBias": AItype = "smart"; UpgradeAIPrice = 120; break; @@ -121,6 +121,11 @@ function buttonUpgradeAIPressed(){ AItype = "survival"; UpgradeAIPrice = 300; break; + + case "survival": + AItype = "perfect"; + UpgradeAIPrice = 1000; + break; } } @@ -235,6 +240,18 @@ function runSnake(){ summonApple(); eatenApples++; } + if ( + snake.length >= + (gridColumns * gridRows) - appleAmount + ){ + + if (AItype == "perfect"){ + rewardPerfectAI(); + } + + restartGame(); + return; + } drawSnakeOnGrid(); } @@ -349,6 +366,10 @@ function snakeAI(){ snakeAIwallDetection(); break; + case "snakeDetection": + snakeAIsnakeDetection(); + break; + case "nearApple": snakeAInearApple(); break; @@ -357,10 +378,6 @@ function snakeAI(){ snakeAIappleBias(); break; - case "snakeDetection": - snakeAIsnakeDetection(); - break; - case "smart": snakeAIsmart(); break; @@ -368,6 +385,10 @@ function snakeAI(){ case "survival": snakeAIsurvival(); break; + + case "perfect": + snakeAIperfect(); + break; } } @@ -481,6 +502,43 @@ function countFreeNeighbors(x, y){ return count; } +// got this inspiration by an LLM AI +function getHamiltonianDirection(){ + + let x = snake[0][0]; + let y = snake[0][1]; + + // snake-like scan pattern + + if (y % 2 == 0){ + + // move right + if (x < gridColumns - 1){ + return 0; + } + + // move down + if (y < gridRows - 1){ + return 1; + } + + }else{ + + // move left + if (x > 0){ + return 2; + } + + // move down + if (y < gridRows - 1){ + return 1; + } + } + + // top fallback + return 3; +} + function snakeAIrandom() { snakeDirection = floor(random(0, 4)); } @@ -712,4 +770,75 @@ function snakeAIsurvival(){ } snakeDirection = bestDirection; +} + +// instpired by an LLM AI +function snakeAIperfect(){ + + let apple = getClosestApple(); + + // try smart movement first + if (apple != null){ + + let bestDirection = -1; + let bestDistance = Infinity; + + for (let i = 0; i < 4; i++) { + + if (!isDirectionSafe(i)){ + continue; + } + + let vec = directionToVector(i); + + let newX = snake[0][0] + vec[0]; + let newY = snake[0][1] + vec[1]; + + let distance = + abs(newX - apple[0]) + + abs(newY - apple[1]); + + let freeNeighbors = + countFreeNeighbors(newX, newY); + + // avoid traps + if ( + freeNeighbors <= 1 && + snake.length < (gridColumns * gridRows) - 5 + ){ + continue; + } + + if (distance < bestDistance){ + bestDistance = distance; + bestDirection = i; + } + } + + if (bestDirection != -1){ + snakeDirection = bestDirection; + return; + } + } + + // fallback to Hamiltonian path + let direction = getHamiltonianDirection(); + + if (isDirectionSafe(direction)){ + snakeDirection = direction; + return; + } + + // fallback survival + snakeAIsurvival(); +} + +function rewardPerfectAI(){ + + let reward = + floor( + (gridColumns * gridRows) * 0.75 + ); + + eatenApples += reward; } \ No newline at end of file diff --git a/sketches/snakeAIEvolution.js b/sketches/snakeAIEvolution.js new file mode 100644 index 0000000..9bc38b9 --- /dev/null +++ b/sketches/snakeAIEvolution.js @@ -0,0 +1,671 @@ +let grid = []; +let snake = []; +let alive = true; +let snakeDirection = 0; +let AItype = "random"; +let gridSize = 20; +let gridColumns = 10; +let gridRows = 10; +let eatenApples = 0; +let _textSize = 16; +let appleAmount = 1; +let gameSpeed = 10; +let buttonAddColoums = null; +let buttonAddRows = null; +let buttonUpgradeAI = null; +let buttonAddMoreApples = null; +let buttonSpeedUpgrade = null; +let SpeedUpgradePrice = 5; +let AddMoreApplesPrice = 1; +let AddColoumsPrice = 1; +let AddRowsPrice = 1; +let UpgradeAIPrice = 1; +let buttonSnifferUP = null; +let buttonSnifferDown = null; +let sniffingDistance = 1; +let buttonEyeUp = null; +let buttonEyeDown = null; +let eyeDistance = 1; +let snifferUpgradePrice = 1; +let eyeUpgradePrice = 1; +let snifferLevel = 1; +let eyeLevel = 1; +let sniffingIncrement = 1; +let eyeIncrement = 2; +let sniffingPriceIncrement = 2; +let eyePriceIncrement = 2; +let moulthOpenDistance = 2; + + +function setup() { + buttonAddColoums = createButton("Add coloums"); + buttonAddRows = createButton("Add rows"); + buttonAddMoreApples = createButton("Add more apples"); + buttonSpeedUpgrade = createButton("Increase speed"); + buttonSnifferUP = createButton("SnifferUp"); + buttonSnifferDown = createButton("SnifferDown"); + buttonEyeUp = createButton("EyeUp"); + buttonEyeDown = createButton("EyeDown"); + createCanvas(windowWidth, windowHeight); + background(255, 255, 255); + for (let i = 0; i < gridColumns; i++) { + grid[i] = []; + for (let j = 0; j < gridRows; j++) { + grid[i][j] = 0; + } + } + buttonAddColoums.mousePressed(buttonAddColoumsPressed); + buttonAddRows.mousePressed(buttonAddRowsPressed); + buttonAddMoreApples.mousePressed(buttonAddMoreApplesPressed); + buttonSpeedUpgrade.mousePressed(buttonSpeedUpgradePressed); + buttonSnifferUP.mousePressed(buttonSnifferUPPressed); + buttonSnifferDown.mousePressed(buttonSnifferDownPressed); + buttonEyeUp.mousePressed(buttonEyeUpPressed); + buttonEyeDown.mousePressed(buttonEyeDownPressed); + frameRate(gameSpeed); + summonSnake(); + summonApple(); + drawGrid(); +} + + +function buttonSnifferUPPressed(){ + if (sniffingDistance > gridRows) { + return; + } + if (snifferUpgradePrice > eatenApples) { + return; + } + if (!(snifferLevel * sniffingIncrement > sniffingDistance)) { + eatenApples -= snifferUpgradePrice; + snifferUpgradePrice += sniffingPriceIncrement; + snifferLevel ++; + } + + sniffingDistance += sniffingIncrement; +} +function buttonSnifferDownPressed(){ + if (sniffingDistance < 1) { + return; + } + sniffingDistance -= sniffingIncrement; +} + +function buttonSpeedUpgradePressed(){ + + if (eatenApples < SpeedUpgradePrice) { + return; + } + + eatenApples -= SpeedUpgradePrice; + + gameSpeed += 2; + + frameRate(gameSpeed); + + SpeedUpgradePrice += 5; +} + +function buttonEyeUpPressed(){ + if (eyeDistance > gridColumns) { + return; + } + if (!(eyeLevel * eyeIncrement + 1 >= eyeDistance) && eyeUpgradePrice <= eatenApples) { + eatenApples -= eyeUpgradePrice; + eyeUpgradePrice += eyePriceIncrement; + eyeLevel ++; + }else if(eyeUpgradePrice > eatenApples){ + return; + } + + eyeDistance += eyeIncrement; +} +function buttonEyeDownPressed(){ + if (eyeDistance < 1) { + return; + } + eyeDistance -= eyeIncrement; +} + +function buttonAddColoumsPressed(){ + if (eatenApples < AddColoumsPrice) { + return; + } + eatenApples -= AddColoumsPrice; + gridColumns++; + grid.push([]); + for (let i = 0; i < gridRows; i++) { + grid[grid.length - 1][i] = 0; + } +} +function buttonAddRowsPressed(){ + if (eatenApples < AddRowsPrice) { + return; + } + eatenApples -= AddRowsPrice; + gridRows++; + for (let i = 0; i < gridColumns; i++) { + grid[i].push(0); + } +} + +function buttonAddMoreApplesPressed(){ + if (eatenApples < AddMoreApplesPrice) { + return; + } + eatenApples -= AddMoreApplesPrice; + if (appleAmount < 5){ + AddMoreApplesPrice += 1; + }else if (appleAmount < 10){ + AddMoreApplesPrice += 2; + }else if (appleAmount < 20){ + AddMoreApplesPrice += 3; + }else if (appleAmount < 50){ + AddMoreApplesPrice += 4; + }else{ + AddMoreApplesPrice += ceil(AddMoreApplesPrice*0.15); + } + summonApple(); + appleAmount++; +} + +function summonApple(){ + if (appleAmount >= gridColumns * gridRows - snake.length ) { + for (let i = 0; i < grid.length; i++) { + for (let j = 0; j < grid[0].length; j++) { + if (grid[i][j] == 2) { + grid[i][j] = 0; + } + } + } + return; + } + let x = grid.length - floor(random(1, grid.length +1)); + let y = grid[0].length - floor(random(1, grid[0].length +1)); + if(grid[x][y] == 2 || grid[x][y] == 1){ + summonApple();//best practice coding right here + return; + } + grid[x][y] = 1; +} + + + +function dontMoveBackwards(lastSnakeX, lastSnakeY, currentSnakeX, currentSnakeY, direction){ + if (direction == 0) { + return lastSnakeX < currentSnakeX; + }else if (direction == 1) { + return lastSnakeY < currentSnakeY; + }else if (direction == 2) { + return lastSnakeX > currentSnakeX; + }else if (direction == 3) { + return lastSnakeY > currentSnakeY; + } +} + +function restartGame(){ + + for (let i = 0; i < grid.length; i++) { + for (let j = 0; j < grid[0].length; j++) { + + if (grid[i][j] == 2 || grid[i][j] == 1) { + grid[i][j] = 0; + } + } + } + + snake = []; + + summonSnake(); + + for (let i = 0; i < appleAmount; i++) { + summonApple(); + } + + alive = true; +} + +function runSnake(){ + let x = snake[0][0]; + let y = snake[0][1]; + for (let i = snake.length - 1; i > 0; i--) { + snake[i][0] = snake[i - 1][0]; + snake[i][1] = snake[i - 1][1]; + } + snakeAI(); + let lastSnakeX = snake[1][0] + let lastSnakeY = snake[1][1]; + if (dontMoveBackwards(lastSnakeX, lastSnakeY, x, y, snakeDirection)) { + snakeDirection = (snakeDirection + 2) % 4; + } + if (snakeDirection == 0) { + snake[0][0] += 1; + }else if (snakeDirection == 1) { + snake[0][1] += 1; + }else if (snakeDirection == 2) { + snake[0][0] -= 1; + }else if (snakeDirection == 3) { + snake[0][1] -= 1; + } + if (snake[0][1] >= grid[0].length || snake[0][1] < 0 || snake[0][0] >= grid.length || snake[0][0] < 0) { + alive = false; + return; + } + if (grid[snake[0][0]][snake[0][1]] == 2) { + alive = false; + return; + } + if (grid[snake[0][0]][snake[0][1]] == 1) { + snake.push([snake[snake.length - 1][0], snake[snake.length - 1][1]]); + summonApple(); + eatenApples++; + } + if ( + snake.length >= + (gridColumns * gridRows) - appleAmount + ){ + restartGame(); + return; + } + drawSnakeOnGrid(); +} + +function summonSnake(){ + let x = grid.length - floor(random(1, grid.length)); + let y = grid[0].length - floor(random(1, grid[0].length)); + snake.push([x, y]); + snake.push([x - 1, y]); + snake.push([x - 2, y]); + drawSnakeOnGrid(); +} + +function drawSnakeOnGrid(){ + for (let i = 0; i < grid.length; i++) { + for (let j = 0; j < grid[0].length; j++) { + if (grid[i][j] == 2) { + grid[i][j] = 0; + } + } + } + + for (let i = 0; i < snake.length; i++) { + + let x = snake[i][0]; + let y = snake[i][1]; + + // prevent crash + if ( + x < 0 || + y < 0 || + x >= grid.length || + y >= grid[0].length + ){ + alive = false; + return; + } + + grid[x][y] = 2; + } +} + +function drawGrid() { + for (let i = 0; i < grid.length; i++) { + for (let j = 0; j < grid[0].length; j++) { + switch (grid[i][j]) { + case 1: + strokeWeight(0) + fill(255, 0, 0); + circle(i*gridSize+gridSize/2, j*gridSize+gridSize/2, gridSize-2); + break; + case 2: + if (i == snake[0][0] && j == snake[0][1]) { + strokeWeight(0) + fill(0, 233, 0); + rect(i * gridSize, j * gridSize, gridSize, gridSize); + fill(100, 255, 100); + circle(i*gridSize+gridSize/2, j*gridSize+gridSize/2, gridSize-2); + switch (snakeDirection) { + case 0://right + makeEye(i*gridSize+gridSize/4, j*gridSize+gridSize/4); + makeEye(i*gridSize+gridSize/4, j*gridSize+gridSize/4*3); + break; + case 1://down + makeEye(i*gridSize+gridSize/4, j*gridSize+gridSize/4); + makeEye(i*gridSize+gridSize/4*3, j*gridSize+gridSize/4); + break; + case 2://left + makeEye(i*gridSize+gridSize/4*3, j*gridSize+gridSize/4); + makeEye(i*gridSize+gridSize/4*3, j*gridSize+gridSize/4*3); + break; + case 3://up + makeEye(i*gridSize+gridSize/4, j*gridSize+gridSize/4*3); + makeEye(i*gridSize+gridSize/4*3, j*gridSize+gridSize/4*3); + break; + default: + throw new Error("Invalid snakeDirection: " + snakeDirection); + break; + } + makeMoulth(snakeDirection,i,j); + }else{ + const snakeIndex = getSnakePartIndex(i, j); + if (snakeIndex == -1) { + console.error("Snake part not found: " + i + ", " + j); + } + let SnakeGreen = 255-snakeIndex*10; + let SnakeBlue = 0; + let SnakeRed = 0; + if (SnakeGreen < 0) { + SnakeBlue = abs(SnakeGreen); + } + if (SnakeBlue > 255) { + SnakeRed = SnakeBlue-255; + } + + strokeWeight(0) + fill(SnakeRed, SnakeGreen, SnakeBlue); + rect(i * gridSize, j * gridSize, gridSize, gridSize); + } + break; + default: + strokeWeight(0.3) + fill(255, 255, 255); + rect(i * gridSize, j * gridSize, gridSize, gridSize); + break; + } + } + } +} + +function makeEye(x,y){ + if (countFreeNeighbors(snake[0][0], snake[0][1]) == 0) { + //make dead eyes + fill(0, 0, 0); + strokeWeight(2); + line(x-gridSize/16, y-gridSize/16, x+gridSize/16, y+gridSize/16); + line(x-gridSize/16, y+gridSize/16, x+gridSize/16, y-gridSize/16); + return; + } + fill(255, 255, 255); + circle(x, y, gridSize/4); + fill(25, 255, 25); + circle(x, y, gridSize/8); + fill(0, 0, 0); + circle(x, y, gridSize/16); +} +function makeMoulth(direction,i,j){ + let x, y, w, h; + fill(0, 0, 0); + if (moulthOpenDistance >= getClosestAppleDistanceToSnake()) { + switch (direction) { + case 0://right + x = gridSize*i+gridSize/16*11; + y = gridSize*j+gridSize/2; + w = gridSize/8*5; + h = gridSize/4*3; + break; + case 1://down + x = gridSize*i+gridSize/2; + y = gridSize*j+gridSize/16*11; + w = gridSize/4*3; + h = gridSize/8*5; + break; + case 2://left + x = gridSize*i+gridSize/16*5; + y = gridSize*j+gridSize/2; + w = gridSize/8*5; + h = gridSize/4*3; + break; + case 3://up + x = gridSize*i+gridSize/2; + y = gridSize*j+gridSize/16*5; + w = gridSize/4*3; + h = gridSize/8*5; + break; + default: + throw new Error("Invalid direction SnakeDirection: " + snakeDirection); + break; + + } + ellipse(x, y, w, h) + }else{ + switch (direction) { + case 0://right + x = gridSize*i+gridSize/16*13; + y = gridSize*j+gridSize/2; + w = gridSize/16; + h = gridSize/4*3; + break; + case 1://down + x = gridSize*i+gridSize/2; + y = gridSize*j+gridSize/16*13; + w = gridSize/4*3; + h = gridSize/16; + break; + case 2://left + x = gridSize*i+gridSize/16; + y = gridSize*j+gridSize/2; + w = gridSize/16; + h = gridSize/4*3; + break; + case 3://up + x = gridSize*i+gridSize/2; + y = gridSize*j+gridSize/16; + w = gridSize/4*3; + h = gridSize/16; + break; + default: + throw new Error("Invalid direction SnakeDirection: " + snakeDirection); + break; + } + ellipse(x, y, w, h) + } +} + +function getSnakePartIndex(x, y){ + for (let i = 0; i < snake.length; i++) { + if (snake[i][0] == x && snake[i][1] == y) { + return i; + } + } + return -1; +} + +function draw() { + + if (alive == false){ + restartGame(); + } + + background(255); + + runSnake(); + drawGrid(); + + fill(0, 0, 0); + textSize(_textSize); + + text("₴ " + eatenApples, gridColumns * gridSize + gridSize + _textSize*3, _textSize * 1); + text("More apples: " + appleAmount, gridColumns * gridSize + gridSize, _textSize * 2); + + buttonAddMoreApples.html("Add more apples ₴ " + AddMoreApplesPrice); + buttonAddMoreApples.position(gridColumns * gridSize + gridSize + _textSize*7, _textSize * 1.1); + + text("AI Upgrades ", gridColumns * gridSize + gridSize, _textSize * 3); + text("Better Eyes: " + eyeLevel, gridColumns * gridSize + gridSize, _textSize * 4); + + buttonEyeUp.html("Upgrade Eyes ₴ " + eyeUpgradePrice); + buttonEyeUp.position(gridColumns * gridSize + gridSize + _textSize*7, _textSize * 3.1); + buttonEyeDown.html("Downgrade Eyes"); + buttonEyeDown.position(gridColumns * gridSize + gridSize + _textSize*13, _textSize * 3.1); + + text("Better Sniffer: " + snifferLevel, gridColumns * gridSize + gridSize, _textSize * 5); + + buttonSnifferUP.mousePressed(buttonSnifferUPPressed); + buttonSnifferUP.html("Upgrade Sniffer ₴ " + snifferUpgradePrice); + buttonSnifferUP.position(gridColumns * gridSize + gridSize + _textSize*8, _textSize * 4.1); + buttonSnifferDown.html("Downgrade Sniffer"); + buttonSnifferDown.position(gridColumns * gridSize + gridSize + _textSize*14, _textSize * 4.1); +} +function mousePressed() { +} + +function snakeAI(){ + direction = floor(random(0, 4)); + count = 0; + while (!isDirectionSafe(direction)) { + count++; + if (count > 20) { + snakeDirection =0; + return; + } + direction = floor(random(0, 4)); + if (sniffingDistance >= getClosestAppleDistanceToSnake()) { + console.log("sniffing apple"); + direction = pathSnakeToPoint(getClosestApple()[0], getClosestApple()[1]); + + } + if (isAppleInView(snakeDirection, eyeDistance)) { + console.log("apple in view"); + direction = snakeDirection; + } + } + snakeDirection = direction; +} + +function directionToVector(direction){ + + switch(direction){ + case 0: + return [1, 0]; + + case 1: + return [0, 1]; + + case 2: + return [-1, 0]; + + case 3: + return [0, -1]; + } +} + +function pathSnakeToPoint(x,y){ + let vec = [x - snake[0][0], y - snake[0][1]]; + + if (vec[0] > 0){ + return 0; + }else if (vec[0] < 0){ + return 2; + }else if (vec[1] > 0){ + return 1; + }else if (vec[1] < 0){ + return 3; + } +} + +function isDirectionSafe(direction){ + + let vec = directionToVector(direction); + + let newX = snake[0][0] + vec[0]; + let newY = snake[0][1] + vec[1]; + + if ( + newX < 0 || + newY < 0 || + newX >= grid.length || + newY >= grid[0].length + ){ + return false; + } + + if (grid[newX][newY] == 2){ + return false; + } + + return true; +} + +function getClosestApple(){ + + let bestApple = null; + let bestDistance = Infinity; + + for (let i = 0; i < grid.length; i++) { + for (let j = 0; j < grid[0].length; j++) { + + if (grid[i][j] == 1){ + + let distance = + abs(snake[0][0] - i) + + abs(snake[0][1] - j); + + if (distance < bestDistance){ + bestDistance = distance; + bestApple = [i, j]; + } + } + } + } + + return bestApple; +} + +function getClosestAppleDistanceToPoint(x, y){ + let apple = getClosestApple(); + if (apple == null){ + return Infinity; + } + return abs(x - apple[0]) + abs(y - apple[1]); +} + +function getClosestAppleDistanceToSnake(){ + return getClosestAppleDistanceToPoint(snake[0][0], snake[0][1]); +} + +function isAppleInView(snakeDirection, viewDistance){ + + let vec = directionToVector(snakeDirection); + + for (let i = 0; i < viewDistance; i++) { + if (i >= grid.length || i >= grid[0].length|| snake[0][0]+(vec[0] *i) >= grid.length || snake[0][0]+(vec[0] *i) < 0 || snake[0][1]+(vec[1] *i) >= grid[0].length || snake[0][1]+(vec[1] *i) < 0){ + return false; + } + + if (grid[snake[0][0] + (vec[0] * i)][snake[0][1] + (vec[1] * i)] == 1){ + return true; + } + } + + return false; +} + +function countFreeNeighbors(x, y){ + + let count = 0; + + let dirs = [ + [1,0], + [0,1], + [-1,0], + [0,-1] + ]; + + for (let i = 0; i < dirs.length; i++) { + + let nx = x + dirs[i][0]; + let ny = y + dirs[i][1]; + + if ( + nx >= 0 && + ny >= 0 && + nx < grid.length && + ny < grid[0].length && + grid[nx][ny] != 2 + ){ + count++; + } + } + + return count; +} \ No newline at end of file