Пример #1
0
        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);
            }
        }
Пример #2
0
        public void timer()
        {
            clsMensajeBase  mb;
            clsMensajeTimer timer = new clsMensajeTimer();

            while (segundos >= 0)
            {
                Thread.Sleep(1000);
                timer.Segundero = segundos;
                mb = (clsMensajeBase)timer;
                EnviarATodos(mb);
                segundos--;
            }
        }
Пример #3
0
 private void tiempo(clsMensajeBase m)
 {
     msjTime = (clsMensajeTimer)m;
     lbTime.Invoke((Action)(() => lbTime.Text = msjTime.Segundero.ToString()));
 }
Пример #4
0
        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();
            }
        }