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.current_piece = None
self.running = False
self.running = True
self.init_game()
def init_game(self):
self.bind_all("<Key>", self.handle_keypress)
self.spawn_piece()
#self.update_game()
self.update_game()
def spawn_piece(self):
shapes = [
@ -106,7 +106,7 @@ class TetrisGame(tk.Canvas):
self.rotate_piece()
def update_game(self):
if self.running and self.winfo_exists():
if self.running:
if not self.can_move(1, 0):
self.place_piece()
else:

View File

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

View File

@ -5,7 +5,6 @@ import random
from services.threaden_task import ThreadenTask
from services.system_monitor import SystemMonitor
from services.tetris_game import TetrisGame
class ThreadsManager:
"""Constructor"""
@ -16,7 +15,6 @@ class ThreadsManager:
"time": ThreadenTask(),
"temperature": ThreadenTask(),
"emails":ThreadenTask(),
"tetris_game":ThreadenTask(),
}
self.system_monitor_tasks = {}
@ -43,40 +41,20 @@ class ThreadsManager:
metric
)
if hasattr(self.ui_instance, "tetris_game"):
self.tasks["tetris_game"].start(self.update_tetris_game)
def stop_threads(self):
"""Recorre tasks y para los hilos"""
for name, task in self.tasks.items():
for task in self.tasks.values():
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()
print(f"Hilo de monitor del sistema '{name}' detenido.")
if self.system_monitor:
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):
"""Actualiza una métrica específica del monitor del sistema."""

View File

@ -56,13 +56,6 @@ class CenteredWindow(ctk.CTk):
def on_close(self):
"""Maneja el cierre de la ventana"""
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()
@ -148,7 +141,7 @@ class CenteredWindow(ctk.CTk):
"""Método para iniciar el juego."""
if not self.tetris_game.running:
self.tetris_game.running = True
#self.tetris_game.update_game()
self.tetris_game.update_game()