diff --git a/src/services/__pycache__/tetris_game.cpython-312.pyc b/src/services/__pycache__/tetris_game.cpython-312.pyc index e6aea95..6f0b239 100644 Binary files a/src/services/__pycache__/tetris_game.cpython-312.pyc and b/src/services/__pycache__/tetris_game.cpython-312.pyc differ diff --git a/src/services/__pycache__/threaden_task.cpython-312.pyc b/src/services/__pycache__/threaden_task.cpython-312.pyc index 4f2b2b4..a215c66 100644 Binary files a/src/services/__pycache__/threaden_task.cpython-312.pyc and b/src/services/__pycache__/threaden_task.cpython-312.pyc differ diff --git a/src/services/tetris_game.py b/src/services/tetris_game.py index 335d281..eaff7e9 100644 --- a/src/services/tetris_game.py +++ b/src/services/tetris_game.py @@ -1,5 +1,6 @@ import tkinter as tk import random +from tkinter import messagebox class TetrisGame(tk.Canvas): def __init__(self, parent, width=300, height=600, cell_size=30): @@ -16,7 +17,6 @@ class TetrisGame(tk.Canvas): def init_game(self): self.bind_all("", self.handle_keypress) self.spawn_piece() - #self.update_game() def spawn_piece(self): shapes = [ @@ -27,12 +27,25 @@ class TetrisGame(tk.Canvas): [[1, 1, 0], [0, 1, 1]], # Z-shape ] shape = random.choice(shapes) + start_row = 0 + start_col = (self.cols - len(shape[0])) // 2 + + if not self.can_place(shape, start_row, start_col): + self.end_game() # Finaliza el juego si no hay espacio + return + self.current_piece = { "shape": shape, - "row": 0, - "col": (self.cols - len(shape[0])) // 2, + "row": start_row, + "col": start_col, } + def end_game(self): + """Finaliza el juego y muestra un mensaje.""" + self.running = False + messagebox.showinfo("Game Over", "¡Has perdido! Intenta nuevamente.") + self.reset_game() + def draw_piece(self): shape = self.current_piece["shape"] row = self.current_piece["row"]