public clsMensajeBase recibirMensaje(string mensaje) { clsMensajeBase convertido = JsonConvert.DeserializeObject <clsMensajeBase>(mensaje); switch (convertido.Tipo) { case "MENSAJE_PARTIDA": clsMensajePartida retorno1 = JsonConvert.DeserializeObject <clsMensajePartida>(mensaje); return(retorno1); case "MENSAJE_JUEGO": clsMensajeJuego retorno2 = JsonConvert.DeserializeObject <clsMensajeJuego>(mensaje); return(retorno2); case "MENSAJE_PERDEDOR": clsMensajePerdedor retorno3 = JsonConvert.DeserializeObject <clsMensajePerdedor>(mensaje); return(retorno3); case "MENSAJE_GANADOR": clsMensajeGanador retorno4 = JsonConvert.DeserializeObject <clsMensajeGanador>(mensaje); return(retorno4); case "MENSAJE_TIMER": clsMensajeTimer retorno5 = JsonConvert.DeserializeObject <clsMensajeTimer>(mensaje); return(retorno5); case "MENSAJE_FIN_PARTIDA": clsMensajeFinPartida retorno6 = JsonConvert.DeserializeObject <clsMensajeFinPartida>(mensaje); return(retorno6); default: return(convertido); } }
public void timer() { clsMensajeBase mb; clsMensajeTimer timer = new clsMensajeTimer(); while (segundos >= 0) { Thread.Sleep(1000); timer.Segundero = segundos; mb = (clsMensajeBase)timer; EnviarATodos(mb); segundos--; } }
private void tiempo(clsMensajeBase m) { msjTime = (clsMensajeTimer)m; lbTime.Invoke((Action)(() => lbTime.Text = msjTime.Segundero.ToString())); }
public void leeInputCliente() { try { clsMensajeBase mb = new clsMensajeBase(); mb.Nick = nick; streamw.WriteLine(serializador.enviarMensaje(mb)); streamw.Flush(); string aux1 = streamr.ReadLine(); mensaje = serializador.recibirMensaje(aux1); start(mensaje); while (true) { string aux = streamr.ReadLine(); mensaje = serializador.recibirMensaje(aux); switch (mensaje.Tipo) { case "MENSAJE_JUEGO": { clsMensajeJuego mensajeJuego = (clsMensajeJuego)mensaje; if (mensaje.Retorno != "FALLO" && mensaje.Accion == "PROBAR_LETRA") { acertoLetra(mensajeJuego); } else if (mensaje.Retorno == "FALLO" && mensaje.Accion == "PROBAR_LETRA") { falloLetra(); } else if (mensaje.Retorno == "FALLO" && mensaje.Accion == "PROBAR_PALABRA") { falloPalabra(); } } break; case "MENSAJE_PERDEDOR": { falloPalabra(); } break; case "MENSAJE_GANADOR": { clsMensajeGanador mensajeGanador = (clsMensajeGanador)mensaje; acertoPalabra(mensajeGanador); } break; case "MENSAJE_FIN_PARTIDA": { clsMensajeFinPartida mensajeFinPartida = (clsMensajeFinPartida)mensaje; finPartida(); } break; case "MENSAJE_TIMER": { clsMensajeTimer mensajeTimer = (clsMensajeTimer)mensaje; timeForm(mensajeTimer); if (mensajeTimer.Segundero == 0) { falloPalabra(); } } break; } } } catch (InvalidOperationException e) { ExitGame(); } catch (SocketException e) { DesconexionServidor(); } catch (System.IO.IOException e) { DesconexionServidor(); } }