summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorViljami Ilola <+@hix.fi>2024-03-18 13:47:13 +0200
committerViljami Ilola <+@hix.fi>2024-03-18 13:47:13 +0200
commitb99e522de33bc97e193a51692db856f586921286 (patch)
tree2a2af315c14f84239997fc1b5fb98a332a396969
parent417d1be24c398600600fa631c04c489c0cdd197d (diff)
gameplay & level as separate class
-rw-r--r--src/sliceitoff/__main__.py30
-rw-r--r--src/sliceitoff/game/__init__.py3
-rw-r--r--src/sliceitoff/game/gameplay.py (renamed from src/sliceitoff/game/game.py)3
-rw-r--r--src/sliceitoff/game/level.py33
4 files changed, 40 insertions, 29 deletions
diff --git a/src/sliceitoff/__main__.py b/src/sliceitoff/__main__.py
index 939bda2..c4366e0 100644
--- a/src/sliceitoff/__main__.py
+++ b/src/sliceitoff/__main__.py
@@ -8,12 +8,8 @@ from pathlib import Path
import pygame
from display import Display
-from status import Status
-from player import Player
-from field import Field
-from enemies import Enemies
from images import Images
-from game import Game
+from game import Level
def sliceitoff():
@@ -23,31 +19,13 @@ def sliceitoff():
display = Display()
Images.load_images( Path(__file__).parent.resolve() )
- status = Status()
- field = Field()
- enemies = Enemies(field = field, level = 10)
- player = Player(field = field, enemies = enemies)
- game = Game(player = player)
+ level1 = Level(display = display, level = 100, score = 10)
clock = pygame.time.Clock()
+ dt = 0
-
- while True:
-
+ while level1.step(dt):
dt = clock.tick()
- for fun in (status, field, enemies, player):
- fun.update(dt)
-
- display.update(
- [
- status.sprites,
- field.sprites,
- enemies.sprites,
- player.sprites
- ])
-
- if game.step():
- break
pygame.quit()
diff --git a/src/sliceitoff/game/__init__.py b/src/sliceitoff/game/__init__.py
index a2771db..87cb41b 100644
--- a/src/sliceitoff/game/__init__.py
+++ b/src/sliceitoff/game/__init__.py
@@ -1 +1,2 @@
-from .game import Game
+from .gameplay import Gameplay
+from .level import Level
diff --git a/src/sliceitoff/game/game.py b/src/sliceitoff/game/gameplay.py
index 16c42b4..fc0f52b 100644
--- a/src/sliceitoff/game/game.py
+++ b/src/sliceitoff/game/gameplay.py
@@ -1,7 +1,6 @@
import pygame
-from pygame.locals import *
-class Game:
+class Gameplay:
def __init__(self, player = None, field = None):
self.player = player
self.field = field
diff --git a/src/sliceitoff/game/level.py b/src/sliceitoff/game/level.py
new file mode 100644
index 0000000..97e64cf
--- /dev/null
+++ b/src/sliceitoff/game/level.py
@@ -0,0 +1,33 @@
+from display import Display
+from status import Status
+from player import Player
+from field import Field
+from enemies import Enemies
+from game import Gameplay
+
+
+class Level:
+ """ One level that can be played """
+ def __init__(self, level = None, score = None, display = None):
+ self.display = display
+ self.status = Status(level = level)
+ self.field = Field()
+ self.enemies = Enemies(field = self.field, level = level)
+ self.player = Player(field = self.field, enemies = self.enemies)
+ self.gameplay = Gameplay(player = self.player)
+ self.obj_classes = (
+ self.status,
+ self.field,
+ self.enemies,
+ self.player)
+
+ def step(self, dt):
+ for obj in self.obj_classes:
+ obj.update(dt)
+
+ self.display.update( (obj.sprites for obj in self.obj_classes) )
+
+ if self.gameplay.step():
+ return False
+
+ return True