diff --git a/main.py b/main.py index 5dfdc26..3e87985 100644 --- a/main.py +++ b/main.py @@ -38,6 +38,8 @@ def clear_rows(board): board = np.delete(board, clear_indices, axis=0) new_rows = np.zeros((len(clear_indices), board.shape[1])) board = np.vstack([new_rows, board]) + global score + score = update_score(score, len(clear_indices)) return board @@ -48,7 +50,7 @@ def calculate_shadow(piece, board, i, j): return i -def display_board(board, piece, i, j): +def display_board(board, piece, i, j, score): display = board.copy() shadow_i = calculate_shadow(piece, board, i, j) n, m = piece.shape @@ -69,7 +71,7 @@ def display_board(board, piece, i, j): for row in display ) ) - print() + print(f"Score: {score}\n") def game_over(board): @@ -78,9 +80,13 @@ def game_over(board): return np.zeros_like( board ) # Clear the board and continue or call sys.exit() to end + +def update_score(score, cleared_rows): + return score + cleared_rows def main(): + score = 0 board = np.zeros((20, 10), dtype=int) piece_types = list(PIECES.keys()) current_piece = PIECES[np.random.choice(piece_types)] @@ -89,7 +95,7 @@ def main(): auto_gravity = True # Auto-gravity enabled by default while True: - display_board(board, current_piece, i, j) + display_board(board, current_piece, i, j, score) if not check_placement(current_piece, board, *START_POS): board = game_over(board) continue