Compare commits
No commits in common. "46f445810aa67f05de0cccdee57b675e81ddd13b" and "9957e6f766c6939e9a2aee62bd229b52be61f0c5" have entirely different histories.
46f445810a
...
9957e6f766
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -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:
|
||||
|
|
|
@ -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()
|
|
@ -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."""
|
||||
|
|
Binary file not shown.
Binary file not shown.
|
@ -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()
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue