From a21f43fcfcd262f597c01daef79bd51c145f429c Mon Sep 17 00:00:00 2001 From: Thaloria Date: Mon, 24 Jul 2023 10:14:41 +0200 Subject: [PATCH] added async stone detection thread --- field.py | 11 ++++++++++- litris.py | 12 ++++++------ 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/field.py b/field.py index 88933c8..c8b2874 100644 --- a/field.py +++ b/field.py @@ -22,9 +22,18 @@ class Field(): '{:2d} |'.format(i) + ' '.join(row) + '|' for i, row in enumerate(self.state)]) + '\n' + BAR + def rotate_90_degree_clckwise(matrix): + new_matrix = [] + for i in range(len(matrix[0])): + li = list(map(lambda x: x[i], matrix)) + li.reverse() + new_matrix.append(li) + + return new_matrix def rotate_state(self): - self.state = list(zip(*self.state[::-1])) + self.state = self.rotate_90_degree_clckwise(self.state) + print(self.state) def get_line_count(self): return self.cleared_rows diff --git a/litris.py b/litris.py index 66cba80..1d526b4 100644 --- a/litris.py +++ b/litris.py @@ -96,7 +96,7 @@ class Litris(GameBase): print("offset column:", offset_col) self.field.drop(current_tetromino, column) self.move_stone(column - offset_col, rotation) - for i in range(1,8,1): + for i in range(1, 10, 1): self.keyboard.press(Key.down) self.keyboard.release(Key.down) print("direction pressed: drop down") @@ -253,23 +253,23 @@ class Litris(GameBase): else: return None - def move_stone(self, col_movement, rotation, move_mode): + def move_stone(self, col_movement, rotation): if col_movement is None: return - if move_mode == 1: + if self.move_mode == 1: down = Key.down left = Key.left right = Key.right - elif move_mode == 2: + elif self.move_mode == 2: down = Key.left left = Key.up right = Key.down - elif move_mode == 3: + elif self.move_mode == 3: down = Key.up left = Key.right right = Key.left - elif move_mode == 4: + elif self.move_mode == 4: down = Key.right left = Key.down right = Key.up