summaryrefslogtreecommitdiff
path: root/src/sliceitoff/game
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 /src/sliceitoff/game
parent417d1be24c398600600fa631c04c489c0cdd197d (diff)
gameplay & level as separate class
Diffstat (limited to 'src/sliceitoff/game')
-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
3 files changed, 36 insertions, 3 deletions
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