fix: adjust points per line to fix calc

This commit is contained in:
Giovani Rodriguez
2021-06-14 14:17:05 -04:00
parent 0c8dff53e1
commit 86cb2e5841
2 changed files with 14 additions and 13 deletions

View File

@@ -23,9 +23,9 @@ engine:
points-per-lines-completed: points-per-lines-completed:
- 0 # 0 line - 0 # 0 line
- 40 # 1 line - 40 # 1 line
- 80 # 2 lines - 100 # 2 lines
- 120 # 3 lines - 300 # 3 lines
- 400 # 4 lines - 1200 # 4 lines
color: color:
window-bg: "#000000" window-bg: "#000000"
@@ -33,7 +33,7 @@ color:
piece-2: "#3DBBFC" piece-2: "#3DBBFC"
piece-3: "#FFFFFF" piece-3: "#FFFFFF"
piece-inner-border-1: "#1F37EC" piece-inner-border-1: "#1F37EC"
piece-border-1: "#000000" piece-outer-border-1: "#000000"
well-1: "#9BFCF0" well-1: "#9BFCF0"
well-border-1: "#000000" well-border-1: "#000000"
stack-1: "#747474" stack-1: "#747474"

View File

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