From 2e953bf0e2f5b587eeff978b1b3d834fb9cc19f6 Mon Sep 17 00:00:00 2001 From: adrienmalin <41926238+adrienmalin@users.noreply.github.com> Date: Thu, 26 Sep 2019 19:56:10 +0200 Subject: [PATCH] fix no fall after unlock --- tetrarcade.py | 37 +++++++++++++++++++------------------ 1 file changed, 19 insertions(+), 18 deletions(-) diff --git a/tetrarcade.py b/tetrarcade.py index fb1b24b..f5cc83c 100644 --- a/tetrarcade.py +++ b/tetrarcade.py @@ -352,7 +352,6 @@ class GameLogic(): def lock(self): if self.move(Movement.DOWN): - self.ui.stop_fall() self.ui.cancel_prelock() return @@ -365,6 +364,8 @@ class GameLogic(): self.game_over() return + self.ui.stop_fall() + for mino_position in self.current_piece.minoes_positions: position = mino_position + self.current_piece.position if position.y <= NB_LINES+3: @@ -643,22 +644,6 @@ class UI(arcade.Window): def lock(self, delta_time=0): self.game.lock() - def update_matrix(self): - if self.game.matrix: - self.matrix_minoes_sprites = arcade.SpriteList() - for y, line in enumerate(self.game.matrix): - for x, mino_color in enumerate(line): - if mino_color: - mino_sprite_path = MINOES_SPRITES_PATHS[mino_color] - mino_sprite = arcade.Sprite(mino_sprite_path) - mino_sprite.left = self.matrix_sprite.left + x*(mino_sprite.width-1) - mino_sprite.bottom = self.matrix_sprite.bottom + y*(mino_sprite.height-1) - mino_sprite.alpha = 200 - self.matrix_minoes_sprites.append(mino_sprite) - - def display(self, string): - print(string) - def swap(self, delta_time=0): self.game.swap() @@ -676,6 +661,9 @@ class UI(arcade.Window): if self.game.current_piece.prelocked: arcade.schedule(self.lock, self.game.lock_delay) + def display(self, string): + print(string) + def on_draw(self): arcade.start_render() self.bg_sprite.draw() @@ -707,7 +695,20 @@ high score:\t{:n}""".format(self.game.score, self.game.high_score) text += """ time:\t\t\t%02d:%02d:%02d level:\t\t%d""" % (t.tm_hour-1, t.tm_min, t.tm_sec, self.game.level) - arcade.draw_text(text, 10, 10, arcade.color.WHITE, 18) + arcade.draw_text(text, self.matrix_sprite.left, self.matrix_sprite.top, arcade.color.WHITE, 18) + + def update_matrix(self): + if self.game.matrix: + self.matrix_minoes_sprites = arcade.SpriteList() + for y, line in enumerate(self.game.matrix): + for x, mino_color in enumerate(line): + if mino_color: + mino_sprite_path = MINOES_SPRITES_PATHS[mino_color] + mino_sprite = arcade.Sprite(mino_sprite_path) + mino_sprite.left = self.matrix_sprite.left + x*(mino_sprite.width-1) + mino_sprite.bottom = self.matrix_sprite.bottom + y*(mino_sprite.height-1) + mino_sprite.alpha = 200 + self.matrix_minoes_sprites.append(mino_sprite) def update_piece(self, piece, piece_sprites): if piece: