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:
- 0 # 0 line
- 40 # 1 line
- 80 # 2 lines
- 120 # 3 lines
- 400 # 4 lines
- 100 # 2 lines
- 300 # 3 lines
- 1200 # 4 lines
color:
window-bg: "#000000"
@@ -33,7 +33,7 @@ color:
piece-2: "#3DBBFC"
piece-3: "#FFFFFF"
piece-inner-border-1: "#1F37EC"
piece-border-1: "#000000"
piece-outer-border-1: "#000000"
well-1: "#9BFCF0"
well-border-1: "#000000"
stack-1: "#747474"

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)