From 5b86a84488bc299f5eec74e1eeb2e566b868aaaa Mon Sep 17 00:00:00 2001 From: Tucan444 Date: Mon, 13 Sep 2021 20:21:11 +0200 Subject: [PATCH] _ --- .gitignore | 2 +- UI/App.py => App.py | 0 {UI => GUI}/Objects/Multiscene.py | 2 +- {UI => GUI}/Objects/Scene.py | 2 +- {UI => GUI}/Objects/Screen.py | 0 {UI => GUI}/Objects/nr_objects/Circle.py | 0 {UI => GUI}/Objects/nr_objects/Ellipse.py | 0 .../Objects/nr_objects/EquilateralTriangle.py | 0 {UI => GUI}/Objects/nr_objects/Image.py | 0 {UI => GUI}/Objects/nr_objects/Line.py | 0 {UI => GUI}/Objects/nr_objects/Text.py | 0 .../RopeInteractiveDot.py | 0 .../nr_objects/dynamic_objects/Rope.py | 0 .../light_objects/LuminousCircleEffect.py | 0 {UI => GUI}/Objects/r_objects/Rect.py | 0 .../Sample_Scenes/BasicMultiscene.py | 6 +++--- .../Sample_Scenes/BasicScene.py | 18 +++++++++--------- .../LuminousCircleEffectMultiscene.py | 8 ++++---- .../LuminousCircleEffectScene.py | 4 ++-- .../Sample_Scenes/MultisceneInMultiscene.py | 6 +++--- .../Sample_Scenes/RopeMultiscene.py | 6 +++--- {UI/Scenes => GUI}/Sample_Scenes/RopeScene.py | 6 +++--- {UI => GUI}/light_update_sample.py | 4 +--- {UI => GUI}/main.py | 10 +++------- GUI/sample_image.png | Bin 0 -> 32885 bytes UI/test.png => GUI/test.png~ | Bin 26 files changed, 34 insertions(+), 40 deletions(-) rename UI/App.py => App.py (100%) rename {UI => GUI}/Objects/Multiscene.py (98%) rename {UI => GUI}/Objects/Scene.py (98%) rename {UI => GUI}/Objects/Screen.py (100%) rename {UI => GUI}/Objects/nr_objects/Circle.py (100%) rename {UI => GUI}/Objects/nr_objects/Ellipse.py (100%) rename {UI => GUI}/Objects/nr_objects/EquilateralTriangle.py (100%) rename {UI => GUI}/Objects/nr_objects/Image.py (100%) rename {UI => GUI}/Objects/nr_objects/Line.py (100%) rename {UI => GUI}/Objects/nr_objects/Text.py (100%) rename {UI => GUI}/Objects/nr_objects/controllable_objects/RopeInteractiveDot.py (100%) rename {UI => GUI}/Objects/nr_objects/dynamic_objects/Rope.py (100%) rename {UI => GUI}/Objects/nr_objects/light_objects/LuminousCircleEffect.py (100%) rename {UI => GUI}/Objects/r_objects/Rect.py (100%) rename {UI/Scenes => GUI}/Sample_Scenes/BasicMultiscene.py (84%) rename {UI/Scenes => GUI}/Sample_Scenes/BasicScene.py (61%) rename {UI/Scenes => GUI}/Sample_Scenes/LuminousCircleEffectMultiscene.py (79%) rename {UI/Scenes => GUI}/Sample_Scenes/LuminousCircleEffectScene.py (72%) rename {UI/Scenes => GUI}/Sample_Scenes/MultisceneInMultiscene.py (85%) rename {UI/Scenes => GUI}/Sample_Scenes/RopeMultiscene.py (85%) rename {UI/Scenes => GUI}/Sample_Scenes/RopeScene.py (70%) rename {UI => GUI}/light_update_sample.py (53%) rename {UI => GUI}/main.py (53%) create mode 100644 GUI/sample_image.png rename UI/test.png => GUI/test.png~ (100%) diff --git a/.gitignore b/.gitignore index 17172a7..2a4bc99 100644 --- a/.gitignore +++ b/.gitignore @@ -129,4 +129,4 @@ dmypy.json # Pyre type checker .pyre/ -UI/Render \ No newline at end of file +GUI/Render \ No newline at end of file diff --git a/UI/App.py b/App.py similarity index 100% rename from UI/App.py rename to App.py diff --git a/UI/Objects/Multiscene.py b/GUI/Objects/Multiscene.py similarity index 98% rename from UI/Objects/Multiscene.py rename to GUI/Objects/Multiscene.py index d964a76..b334749 100644 --- a/UI/Objects/Multiscene.py +++ b/GUI/Objects/Multiscene.py @@ -2,7 +2,7 @@ import copy import math import pygame from numpy import array as a -from UI.Objects.Scene import Scene +from GUI.Objects.Scene import Scene class Multiscene(Scene): diff --git a/UI/Objects/Scene.py b/GUI/Objects/Scene.py similarity index 98% rename from UI/Objects/Scene.py rename to GUI/Objects/Scene.py index 7104c2e..2d3e10c 100644 --- a/UI/Objects/Scene.py +++ b/GUI/Objects/Scene.py @@ -1,5 +1,5 @@ import pygame.transform -from UI.Objects.Screen import Screen +from GUI.Objects.Screen import Screen from numpy import array as a import numpy as np diff --git a/UI/Objects/Screen.py b/GUI/Objects/Screen.py similarity index 100% rename from UI/Objects/Screen.py rename to GUI/Objects/Screen.py diff --git a/UI/Objects/nr_objects/Circle.py b/GUI/Objects/nr_objects/Circle.py similarity index 100% rename from UI/Objects/nr_objects/Circle.py rename to GUI/Objects/nr_objects/Circle.py diff --git a/UI/Objects/nr_objects/Ellipse.py b/GUI/Objects/nr_objects/Ellipse.py similarity index 100% rename from UI/Objects/nr_objects/Ellipse.py rename to GUI/Objects/nr_objects/Ellipse.py diff --git a/UI/Objects/nr_objects/EquilateralTriangle.py b/GUI/Objects/nr_objects/EquilateralTriangle.py similarity index 100% rename from UI/Objects/nr_objects/EquilateralTriangle.py rename to GUI/Objects/nr_objects/EquilateralTriangle.py diff --git a/UI/Objects/nr_objects/Image.py b/GUI/Objects/nr_objects/Image.py similarity index 100% rename from UI/Objects/nr_objects/Image.py rename to GUI/Objects/nr_objects/Image.py diff --git a/UI/Objects/nr_objects/Line.py b/GUI/Objects/nr_objects/Line.py similarity index 100% rename from UI/Objects/nr_objects/Line.py rename to GUI/Objects/nr_objects/Line.py diff --git a/UI/Objects/nr_objects/Text.py b/GUI/Objects/nr_objects/Text.py similarity index 100% rename from UI/Objects/nr_objects/Text.py rename to GUI/Objects/nr_objects/Text.py diff --git a/UI/Objects/nr_objects/controllable_objects/RopeInteractiveDot.py b/GUI/Objects/nr_objects/controllable_objects/RopeInteractiveDot.py similarity index 100% rename from UI/Objects/nr_objects/controllable_objects/RopeInteractiveDot.py rename to GUI/Objects/nr_objects/controllable_objects/RopeInteractiveDot.py diff --git a/UI/Objects/nr_objects/dynamic_objects/Rope.py b/GUI/Objects/nr_objects/dynamic_objects/Rope.py similarity index 100% rename from UI/Objects/nr_objects/dynamic_objects/Rope.py rename to GUI/Objects/nr_objects/dynamic_objects/Rope.py diff --git a/UI/Objects/nr_objects/light_objects/LuminousCircleEffect.py b/GUI/Objects/nr_objects/light_objects/LuminousCircleEffect.py similarity index 100% rename from UI/Objects/nr_objects/light_objects/LuminousCircleEffect.py rename to GUI/Objects/nr_objects/light_objects/LuminousCircleEffect.py diff --git a/UI/Objects/r_objects/Rect.py b/GUI/Objects/r_objects/Rect.py similarity index 100% rename from UI/Objects/r_objects/Rect.py rename to GUI/Objects/r_objects/Rect.py diff --git a/UI/Scenes/Sample_Scenes/BasicMultiscene.py b/GUI/Sample_Scenes/BasicMultiscene.py similarity index 84% rename from UI/Scenes/Sample_Scenes/BasicMultiscene.py rename to GUI/Sample_Scenes/BasicMultiscene.py index 0952bb0..74b7211 100644 --- a/UI/Scenes/Sample_Scenes/BasicMultiscene.py +++ b/GUI/Sample_Scenes/BasicMultiscene.py @@ -1,8 +1,8 @@ -from UI.Objects.Multiscene import Multiscene -from UI.Scenes.Sample_Scenes.BasicScene import BasicScene +from GUI.Objects.Multiscene import Multiscene +from GUI.Sample_Scenes.BasicScene import BasicScene from numpy import array as a -from UI.Objects.nr_objects.Line import Line +from GUI.Objects.nr_objects.Line import Line class BasicMultiscene(Multiscene): diff --git a/UI/Scenes/Sample_Scenes/BasicScene.py b/GUI/Sample_Scenes/BasicScene.py similarity index 61% rename from UI/Scenes/Sample_Scenes/BasicScene.py rename to GUI/Sample_Scenes/BasicScene.py index 8367a85..28b637b 100644 --- a/UI/Scenes/Sample_Scenes/BasicScene.py +++ b/GUI/Sample_Scenes/BasicScene.py @@ -1,13 +1,13 @@ -from UI.Objects.Scene import Scene +from GUI.Objects.Scene import Scene from numpy import array as a -from UI.Objects.nr_objects.Ellipse import Ellipse -from UI.Objects.nr_objects.Circle import Circle -from UI.Objects.nr_objects.EquilateralTriangle import EquilateralTriangle -from UI.Objects.nr_objects.Image import Image -from UI.Objects.nr_objects.Line import Line -from UI.Objects.nr_objects.Text import Text -from UI.Objects.r_objects.Rect import Rect +from GUI.Objects.nr_objects.Ellipse import Ellipse +from GUI.Objects.nr_objects.Circle import Circle +from GUI.Objects.nr_objects.EquilateralTriangle import EquilateralTriangle +from GUI.Objects.nr_objects.Image import Image +from GUI.Objects.nr_objects.Line import Line +from GUI.Objects.nr_objects.Text import Text +from GUI.Objects.r_objects.Rect import Rect class BasicScene(Scene): @@ -27,7 +27,7 @@ class BasicScene(Scene): t0 = Text(a([100, 50]), "hello world!", 26, (200, 200, 200), self) - i0 = Image(a([200, 0]), 0.8, "test.png", self) + i0 = Image(a([200, 0]), 0.8, "sample_image.png", self) triangle0 = EquilateralTriangle(a([500, 300]), 30, 1, (250, 250, 150), self) diff --git a/UI/Scenes/Sample_Scenes/LuminousCircleEffectMultiscene.py b/GUI/Sample_Scenes/LuminousCircleEffectMultiscene.py similarity index 79% rename from UI/Scenes/Sample_Scenes/LuminousCircleEffectMultiscene.py rename to GUI/Sample_Scenes/LuminousCircleEffectMultiscene.py index 8b85798..15c66ae 100644 --- a/UI/Scenes/Sample_Scenes/LuminousCircleEffectMultiscene.py +++ b/GUI/Sample_Scenes/LuminousCircleEffectMultiscene.py @@ -1,9 +1,9 @@ -from UI.Objects.Multiscene import Multiscene -from UI.Objects.nr_objects.light_objects.LuminousCircleEffect import LuminousCircleEffect -from UI.Scenes.Sample_Scenes.LuminousCircleEffectScene import LuminousCircleEffectScene +from GUI.Objects.Multiscene import Multiscene +from GUI.Objects.nr_objects.light_objects.LuminousCircleEffect import LuminousCircleEffect +from GUI.Sample_Scenes.LuminousCircleEffectScene import LuminousCircleEffectScene from numpy import array as a -from UI.Objects.nr_objects.Line import Line +from GUI.Objects.nr_objects.Line import Line class LuminousCircleEffectMultiscene(Multiscene): diff --git a/UI/Scenes/Sample_Scenes/LuminousCircleEffectScene.py b/GUI/Sample_Scenes/LuminousCircleEffectScene.py similarity index 72% rename from UI/Scenes/Sample_Scenes/LuminousCircleEffectScene.py rename to GUI/Sample_Scenes/LuminousCircleEffectScene.py index 77f9fcb..4565b7a 100644 --- a/UI/Scenes/Sample_Scenes/LuminousCircleEffectScene.py +++ b/GUI/Sample_Scenes/LuminousCircleEffectScene.py @@ -1,7 +1,7 @@ -from UI.Objects.Scene import Scene +from GUI.Objects.Scene import Scene from numpy import array as a -from UI.Objects.nr_objects.light_objects.LuminousCircleEffect import LuminousCircleEffect +from GUI.Objects.nr_objects.light_objects.LuminousCircleEffect import LuminousCircleEffect class LuminousCircleEffectScene(Scene): diff --git a/UI/Scenes/Sample_Scenes/MultisceneInMultiscene.py b/GUI/Sample_Scenes/MultisceneInMultiscene.py similarity index 85% rename from UI/Scenes/Sample_Scenes/MultisceneInMultiscene.py rename to GUI/Sample_Scenes/MultisceneInMultiscene.py index f74c3bb..9d8f22f 100644 --- a/UI/Scenes/Sample_Scenes/MultisceneInMultiscene.py +++ b/GUI/Sample_Scenes/MultisceneInMultiscene.py @@ -1,8 +1,8 @@ -from UI.Objects.Multiscene import Multiscene -from UI.Scenes.Sample_Scenes.BasicMultiscene import BasicMultiscene +from GUI.Objects.Multiscene import Multiscene +from GUI.Sample_Scenes.BasicMultiscene import BasicMultiscene from numpy import array as a -from UI.Objects.nr_objects.Line import Line +from GUI.Objects.nr_objects.Line import Line class MultisceneInMultiscene(Multiscene): diff --git a/UI/Scenes/Sample_Scenes/RopeMultiscene.py b/GUI/Sample_Scenes/RopeMultiscene.py similarity index 85% rename from UI/Scenes/Sample_Scenes/RopeMultiscene.py rename to GUI/Sample_Scenes/RopeMultiscene.py index af7c552..1a3aba9 100644 --- a/UI/Scenes/Sample_Scenes/RopeMultiscene.py +++ b/GUI/Sample_Scenes/RopeMultiscene.py @@ -1,8 +1,8 @@ from numpy import array as a -from UI.Objects.Multiscene import Multiscene -from UI.Objects.nr_objects.Line import Line -from UI.Scenes.Sample_Scenes.RopeScene import RopeScene +from GUI.Objects.Multiscene import Multiscene +from GUI.Objects.nr_objects.Line import Line +from GUI.Sample_Scenes.RopeScene import RopeScene class RopeMultiscene(Multiscene): diff --git a/UI/Scenes/Sample_Scenes/RopeScene.py b/GUI/Sample_Scenes/RopeScene.py similarity index 70% rename from UI/Scenes/Sample_Scenes/RopeScene.py rename to GUI/Sample_Scenes/RopeScene.py index 09e547a..a00ecc2 100644 --- a/UI/Scenes/Sample_Scenes/RopeScene.py +++ b/GUI/Sample_Scenes/RopeScene.py @@ -1,9 +1,9 @@ -from UI.Objects.Scene import Scene +from GUI.Objects.Scene import Scene from numpy import array as a import pygame -from UI.Objects.nr_objects.dynamic_objects.Rope import Rope -from UI.Objects.nr_objects.controllable_objects.RopeInteractiveDot import RopeInteractiveDot +from GUI.Objects.nr_objects.dynamic_objects.Rope import Rope +from GUI.Objects.nr_objects.controllable_objects.RopeInteractiveDot import RopeInteractiveDot class RopeScene(Scene): diff --git a/UI/light_update_sample.py b/GUI/light_update_sample.py similarity index 53% rename from UI/light_update_sample.py rename to GUI/light_update_sample.py index 8085c68..b0215e9 100644 --- a/UI/light_update_sample.py +++ b/GUI/light_update_sample.py @@ -1,9 +1,7 @@ from numpy import array as a import time -from UI.Scenes.Sample_Scenes.LuminousCircleEffectMultiscene import LuminousCircleEffectMultiscene -from UI.Scenes.Sample_Scenes.LuminousCircleEffectScene import LuminousCircleEffectScene - +from GUI.Sample_Scenes.LuminousCircleEffectMultiscene import LuminousCircleEffectMultiscene screen_size = a([1000, 800]) scene = LuminousCircleEffectMultiscene(screen_size) diff --git a/UI/main.py b/GUI/main.py similarity index 53% rename from UI/main.py rename to GUI/main.py index 6661561..461c074 100644 --- a/UI/main.py +++ b/GUI/main.py @@ -1,15 +1,12 @@ import pygame.mouse -from UI.Scenes.Sample_Scenes.BasicMultiscene import BasicMultiscene -from UI.Scenes.Sample_Scenes.BasicScene import BasicScene -from UI.Scenes.Sample_Scenes.LuminousCircleEffectMultiscene import LuminousCircleEffectMultiscene -from UI.Scenes.Sample_Scenes.LuminousCircleEffectScene import LuminousCircleEffectScene - from numpy import array as a import time +from GUI.Sample_Scenes.BasicScene import BasicScene + screen_size = a([200, 500]) -scene = LuminousCircleEffectMultiscene(screen_size) +scene = BasicScene(screen_size) mouse_pos = [0, 0] clicked = False @@ -19,7 +16,6 @@ for i in range(400): scene.update() scene.update_mouse_events(pygame.mouse.get_pos(), pygame.mouse.get_pressed(3)[0]) scene.progress() - #scene.save(f"Render/{i}.png", [800, 800]) if i < 150: screen_size[0] += 3 diff --git a/GUI/sample_image.png b/GUI/sample_image.png new file mode 100644 index 0000000000000000000000000000000000000000..729adda8a89e1c1a67557fc3803a41e61500a21d GIT binary patch literal 32885 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