crystalwindow 5.6__tar.gz → 5.7__tar.gz

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.
Files changed (55) hide show
  1. {crystalwindow-5.6/crystalwindow.egg-info → crystalwindow-5.7}/PKG-INFO +1 -1
  2. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/__init__.py +5 -0
  3. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gametests/gravitytest.py +5 -4
  4. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/objects.py +16 -0
  5. crystalwindow-5.7/crystalwindow/scores.py +35 -0
  6. {crystalwindow-5.6 → crystalwindow-5.7/crystalwindow.egg-info}/PKG-INFO +1 -1
  7. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow.egg-info/SOURCES.txt +1 -0
  8. {crystalwindow-5.6 → crystalwindow-5.7}/setup.py +1 -1
  9. {crystalwindow-5.6 → crystalwindow-5.7}/LICENSE +0 -0
  10. {crystalwindow-5.6 → crystalwindow-5.7}/MANIFEST.in +0 -0
  11. {crystalwindow-5.6 → crystalwindow-5.7}/README.md +0 -0
  12. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/FileHelper.py +0 -0
  13. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/Fonts.py +0 -0
  14. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/Icons/default_icon.png +0 -0
  15. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/Icons/file_icons.png +0 -0
  16. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/System.py +0 -0
  17. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/ai.py +0 -0
  18. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/animation.py +0 -0
  19. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/apphelper.py +0 -0
  20. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/assets.py +0 -0
  21. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/camera.py +0 -0
  22. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/chatvpn.py +0 -0
  23. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/clock.py +0 -0
  24. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/collision.py +0 -0
  25. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/color_handler.py +0 -0
  26. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/crystal3d.py +0 -0
  27. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/docs/getting_started.md +0 -0
  28. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/docs/index.md +0 -0
  29. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/draw_helpers.py +0 -0
  30. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/draw_rects.py +0 -0
  31. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/draw_text_helper.py +0 -0
  32. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/draw_tool.py +0 -0
  33. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/fun_helpers.py +0 -0
  34. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gametests/3dsquare.py +0 -0
  35. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gametests/__init__.py +0 -0
  36. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gametests/__main__.py +0 -0
  37. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gametests/guitesting.py +0 -0
  38. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gametests/sandbox.py +0 -0
  39. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gametests/squaremove.py +0 -0
  40. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gametests/testtttagain.py +0 -0
  41. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gametests/windowtesting.py +0 -0
  42. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gravity.py +0 -0
  43. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gui.py +0 -0
  44. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/gui_ext.py +0 -0
  45. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/math.py +0 -0
  46. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/messagebus.py +0 -0
  47. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/sprites.py +0 -0
  48. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/tilemap.py +0 -0
  49. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/ver_warner.py +0 -0
  50. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/websearch.py +0 -0
  51. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow/window.py +0 -0
  52. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow.egg-info/dependency_links.txt +0 -0
  53. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow.egg-info/requires.txt +0 -0
  54. {crystalwindow-5.6 → crystalwindow-5.7}/crystalwindow.egg-info/top_level.txt +0 -0
  55. {crystalwindow-5.6 → crystalwindow-5.7}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crystalwindow
3
- Version: 5.6
3
+ Version: 5.7
4
4
  Summary: A Tkinter powered window + GUI toolkit made by Crystal (ME)! Easier apps, smoother UI and all-in-one helpers!, Gui, Buttons, FileHelper, Sprites, Animations, Colors, Math, Gravity, Camera, 3D and more!
5
5
  Home-page: https://pypi.org/project/crystalwindow/
6
6
  Author: CrystalBallyHereXD
@@ -67,6 +67,8 @@ from .apphelper import GameAppHelper
67
67
  # === System ===
68
68
  from .System import System, Watchdog
69
69
 
70
+ # === Score System ===
71
+ from .scores import Score
70
72
 
71
73
  __all__ = [
72
74
  # --- Core ---
@@ -122,4 +124,7 @@ __all__ = [
122
124
 
123
125
  # --- System ---
124
126
  "System", "Watchdog",
127
+
128
+ # --- Scores ---
129
+ "Score",
125
130
  ]
@@ -46,11 +46,11 @@ def toggle_fly():
46
46
  fly_button.text = f"Fly: {'ON' if fly_mode else 'OFF'}"
47
47
 
48
48
  # create buttons
49
- fly_button = Button(rect=(35, 60, 180, 40),
49
+ fly_button = Button((35, 60), (180, 40),
50
50
  text="Fly: OFF",
51
51
  color=(150,150,150),
52
52
  hover_color=(200,200,200),
53
- callback=toggle_fly)
53
+ )
54
54
 
55
55
  gui.add(fly_button)
56
56
 
@@ -103,8 +103,9 @@ def update(win):
103
103
 
104
104
  if enemy.collide_with(player):
105
105
  player.hp -= enemy.dmg
106
- if player.dead:
107
- player.respawn(win)
106
+ if player.hp == 0:
107
+ player.redraw(win, new_pos=(0,0))
108
+ player.hp = 100
108
109
 
109
110
  win.draw_text(f"CurrentHP: {player.hp}", font="Arial", size=16, color=(255, 255, 255))
110
111
  # -------------------------------
@@ -177,3 +177,19 @@ class Enemy(Sprite):
177
177
  if self.cooldown <= 0:
178
178
  player.take_damage(self.dmg)
179
179
  self.cooldown = self.cooldown_max
180
+
181
+ # the X and Y is an check like if you want the enemy to chase the player horizontally or vertaically or both like chase_player(player, x=True, y=False) so it chases the player only thru horizontal
182
+ def chase_player(self, obj, mode = "xy"):
183
+ if mode == "x" or mode == "xy":
184
+ if obj.x < self.x:
185
+ self.x -= self.speed
186
+ elif obj.x > self.x:
187
+ self.x += self.speed
188
+
189
+ if mode == "y" or mode == "xy":
190
+ if obj.y < self.y:
191
+ self.y -= self.speed
192
+ elif obj.y > self.y:
193
+ self.y += self.speed
194
+
195
+ self.pos = (self.x, self.y)
@@ -0,0 +1,35 @@
1
+ class Score:
2
+ def __init__(self, name: str, value: int = 0, max_value: int | None = None):
3
+ self.name = name
4
+ self.value = value
5
+ self.max_value = max_value
6
+
7
+ def __str__(self):
8
+ return f"{self.name}: {self.value}"
9
+
10
+
11
+ def score_up(self, amount: int = 1):
12
+ self.value += amount
13
+ if self.max_value is not None:
14
+ self.value = min(self.value, self.max_value)
15
+
16
+ def reset(self):
17
+ self.value = 0
18
+
19
+ def score_down(self, amount: int = 1):
20
+ self.value = max(0, self.value - amount)
21
+
22
+ def set_score(self, value: int):
23
+ self.value = value
24
+ if self.max_value is not None:
25
+ self.value = min(self.value, self.max_value)
26
+ def set_maxv(self, value: int):
27
+ self.max_value = value
28
+ if self.value > self.max_value:
29
+ self.value = self.max_value
30
+
31
+ def get_score(name: str, scores: list[Score]) -> Score | None:
32
+ for score in scores:
33
+ if score.name == name:
34
+ return score
35
+ return None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: crystalwindow
3
- Version: 5.6
3
+ Version: 5.7
4
4
  Summary: A Tkinter powered window + GUI toolkit made by Crystal (ME)! Easier apps, smoother UI and all-in-one helpers!, Gui, Buttons, FileHelper, Sprites, Animations, Colors, Math, Gravity, Camera, 3D and more!
5
5
  Home-page: https://pypi.org/project/crystalwindow/
6
6
  Author: CrystalBallyHereXD
@@ -27,6 +27,7 @@ crystalwindow/gui_ext.py
27
27
  crystalwindow/math.py
28
28
  crystalwindow/messagebus.py
29
29
  crystalwindow/objects.py
30
+ crystalwindow/scores.py
30
31
  crystalwindow/sprites.py
31
32
  crystalwindow/tilemap.py
32
33
  crystalwindow/ver_warner.py
@@ -7,7 +7,7 @@ with open("README.md", encoding="utf-8") as f:
7
7
 
8
8
  setup(
9
9
  name="crystalwindow",
10
- version="5.6", # Force metadata refresh
10
+ version="5.7", # Force metadata refresh
11
11
  packages=find_packages(include=["crystalwindow", "crystalwindow.*"]),
12
12
 
13
13
  include_package_data=True, # include package_data files
File without changes
File without changes
File without changes
File without changes