Compare commits

..

No commits in common. "46f445810aa67f05de0cccdee57b675e81ddd13b" and "9957e6f766c6939e9a2aee62bd229b52be61f0c5" have entirely different histories.

13 changed files with 7 additions and 37 deletions

View File

@ -10,13 +10,13 @@ class TetrisGame(tk.Canvas):
self.grid = [[0] * self.cols for _ in range(self.rows)] self.grid = [[0] * self.cols for _ in range(self.rows)]
self.current_piece = None self.current_piece = None
self.running = False self.running = True
self.init_game() self.init_game()
def init_game(self): def init_game(self):
self.bind_all("<Key>", self.handle_keypress) self.bind_all("<Key>", self.handle_keypress)
self.spawn_piece() self.spawn_piece()
#self.update_game() self.update_game()
def spawn_piece(self): def spawn_piece(self):
shapes = [ shapes = [
@ -106,7 +106,7 @@ class TetrisGame(tk.Canvas):
self.rotate_piece() self.rotate_piece()
def update_game(self): def update_game(self):
if self.running and self.winfo_exists(): if self.running:
if not self.can_move(1, 0): if not self.can_move(1, 0):
self.place_piece() self.place_piece()
else: else:

View File

@ -19,5 +19,4 @@ class ThreadenTask:
"""Detiene el hilo""" """Detiene el hilo"""
self.running = False self.running = False
if self.thread: if self.thread:
self.thread.join(timeout=1) self.thread.join()
self.thread = None

View File

@ -5,7 +5,6 @@ import random
from services.threaden_task import ThreadenTask from services.threaden_task import ThreadenTask
from services.system_monitor import SystemMonitor from services.system_monitor import SystemMonitor
from services.tetris_game import TetrisGame
class ThreadsManager: class ThreadsManager:
"""Constructor""" """Constructor"""
@ -16,7 +15,6 @@ class ThreadsManager:
"time": ThreadenTask(), "time": ThreadenTask(),
"temperature": ThreadenTask(), "temperature": ThreadenTask(),
"emails":ThreadenTask(), "emails":ThreadenTask(),
"tetris_game":ThreadenTask(),
} }
self.system_monitor_tasks = {} self.system_monitor_tasks = {}
@ -43,40 +41,20 @@ class ThreadsManager:
metric metric
) )
if hasattr(self.ui_instance, "tetris_game"):
self.tasks["tetris_game"].start(self.update_tetris_game)
def stop_threads(self): def stop_threads(self):
"""Recorre tasks y para los hilos""" """Recorre tasks y para los hilos"""
for name, task in self.tasks.items(): for task in self.tasks.values():
task.stop() task.stop()
print(f"Hilo '{name}' detenido")
for name, task in self.system_monitor_tasks.items(): for task in self.system_monitor_tasks.values():
task.stop() task.stop()
print(f"Hilo de monitor del sistema '{name}' detenido.")
if self.system_monitor: if self.system_monitor:
self.system_monitor.running = False self.system_monitor.running = False
def update_tetris_game(self):
"""Ciclo de actualizacion del tetris game"""
while self.tasks["tetris_game"].running:
try:
if self.ui_instance.tetris_game.running and self.ui_instance.tetris_game.winfo_exists():
self.ui_instance.tetris_game.update_game()
time.sleep(0.5)
except Exception as e:
print(f"Error en update_tetris_game: {e}")
break
def update_system_metric(self, metric): def update_system_metric(self, metric):
"""Actualiza una métrica específica del monitor del sistema.""" """Actualiza una métrica específica del monitor del sistema."""

View File

@ -56,13 +56,6 @@ class CenteredWindow(ctk.CTk):
def on_close(self): def on_close(self):
"""Maneja el cierre de la ventana""" """Maneja el cierre de la ventana"""
self.thread_manager.stop_threads() self.thread_manager.stop_threads()
if hasattr(self, "tetris_game") and self.tetris_game.running:
self.tetris_game.stop_game()
if "tetris_game" in self.thread_manager.tasks:
self.thread_manager.tasks["tetris_game"].stop()
self.destroy() self.destroy()
@ -148,7 +141,7 @@ class CenteredWindow(ctk.CTk):
"""Método para iniciar el juego.""" """Método para iniciar el juego."""
if not self.tetris_game.running: if not self.tetris_game.running:
self.tetris_game.running = True self.tetris_game.running = True
#self.tetris_game.update_game() self.tetris_game.update_game()