fix: adjust points per line to fix calc

This commit is contained in:
2021-06-14 14:17:05 -04:00
parent 14fd7dc9d1
commit 0e96b9ec47
2 changed files with 14 additions and 13 deletions

View File

@@ -94,7 +94,6 @@ class Piece(Entity):
self.piece_set_sound = mixer.Channel(2)
self.previous_points = None
self.previous_center = None
self.ghost_points = [] # TODO change name
# Gravity
self.gravity_time = ConfigurationManager.get("engine", "piece-gravity-time")
@@ -136,14 +135,16 @@ class Piece(Entity):
if game.well and self.collide(game.well) or game.stack and self.collide(game.stack):
self.revert()
# handle soft drop movement
# handle soft drop movement and gravity based on level
gravity_time = ConfigurationManager.get("engine", "piece-gravity-time")
set_time = ConfigurationManager.get("engine", "piece-set-time")
gravity_increase = ConfigurationManager.get("engine", "piece-gravity-increase")
if Controller.key_pressed(pygame.K_DOWN):
self.gravity_time = max(1, gravity_time // 10)
self.set_time = max(1, set_time // 10)
self.gravity_time = max(10, (gravity_time - (game.get_level() * gravity_increase)) // 10)
self.set_time = max(10, set_time // 10)
if not Controller.key_pressed(pygame.K_DOWN):
self.gravity_time = gravity_time
self.gravity_time = gravity_time - (game.get_level() * gravity_increase)
self.set_time = set_time
def draw(self, surface: pygame.Surface, well: Well, stack: "Stack") -> None:
@@ -366,8 +367,8 @@ class PieceGenerator:
if len(cls._bucket) == 0:
cls._generate_bucket()
base_color, inner_border_color, border_color = cls._get_piece_color()
return Piece(cls._get_piece_shape(cls._bucket.pop()), position, base_color, inner_border_color, border_color)
base_color, inner_border_color, outer_border_color = cls._get_piece_color()
return Piece(cls._get_piece_shape(cls._bucket.pop()), position, base_color, inner_border_color, outer_border_color)
@classmethod
def _generate_bucket(cls) -> None:
@@ -399,6 +400,6 @@ class PieceGenerator:
base_color = ConfigurationManager.get("color", "piece-" + str(random_number))
inner_border_color = None if random_number != 3 else ConfigurationManager.get("color", "piece-inner-border-1")
border_color = ConfigurationManager.get("color", "piece-border-1")
outer_border_color = ConfigurationManager.get("color", "piece-outer-border-1")
return (base_color, inner_border_color, border_color)
return (base_color, inner_border_color, outer_border_color)