Closed bpeirano1 closed 5 years ago
Puedes hacer que el Servidor
llame a la función de Partida
y que esta le retorne lo que debes mandar mediante el send()
, me refiero a algo como esto:
class Servidor:
def __init__(self):
# Toda la información necesaria
self.partida = Partida()
def jugada(self, socket, acción):
# Le pasas la acción a la paridad y esta te retorna el mensaje que debes enviar
resultado = self.paridad.jugada(acción)
self.send(socket, resultado)
Ojalá te sea de ayuda. Ánimo y éxito con la tarea 👋 💪
@lily416 Hola!, Tengo un problema parecido, el mío está en que cuando inician un juego, creo una instancia de un Thread asociado a una función de mi clase Servidor (la cual solo simula los turnos) y cuando un jugador encierra un cuadrado no tengo cómo enviar una señal a ese Thread para que re inicie el contador del cliente que está jugando (ya que si lo hago esperar una señal no ejecutaría el ciclo del juego). He pensando en tres caminos para resolver la situación:
@jitorcas Podrías tratar de reiniciar el Thread
cada vez que se realice una jugada válida, buscando cómo volver a iniciar el tiempo o sino sobre escribiendo el Thread
(volviendo a guardar en la misma variable otra instancia de Thread
y conectandola con la misma función).
No estoy segura de si es la mejor solución o la más recomendada, pero es lo primero que se me ocurre tomando en cuenta que pronto se acaba el tiempo para responder issues. 😖 Te recomiendo buscar en internet lo que han hecho otras personas con respecto al tema, en general en StackOverflow siempre hay soluciones a la mayoría de los problemas que se les pueden presentar.
Saludos y éxito con la tarea 👋 💪
Hola! Hice una clase Partida para poder controlar los turnos de mi juego, esta clase hereda de threading.Thread y esta se instancia dentro de mi clase servidor. Quería saber como podía conectar el método del servidor servidor.send() con las acciones realizadas por la clase Partida ( al final que mi clase Partida pueda utilizar el metodo servidor.send()), ya que no puedo usar pyqt5.QtCore.pyqtSignal porque no estoy trabajando en una ventana (ya traté esto y me salió context error) y tampoco se si le puedo pasar como parametro servidor.send() a mi clase Partida, porque se podría tomar como moderación circular.