Exemplo n.º 1
0
 public void empezarPartida()
 {
     if (rondaActual != 5)
     {
         EmpezoPartida = true;
         Console.WriteLine("Empezo la partida");
         RecToken = new CancellationTokenSource();
         EndToken = RecToken.Token;
         Random ran = new Random();
         int    i   = ran.Next(0, palabras.Length - 1);
         palabraDesignada = palabras[i];
         Console.WriteLine("Palabra designada " + palabraDesignada);
         MensajeTocaDibujar msjToca = new MensajeTocaDibujar("", "*", 1, orden.ElementAt <string>(turnoActual), palabraDesignada);
         Console.WriteLine("Turno de dibujar: " + orden.ElementAt <string>(turnoActual));
         MensajeIniciarPartida iniciar = new MensajeIniciarPartida("", "*", 1);
         //SE ENVIA A TODOS EL MENSAJE Iniciar Partida y toca dibujar
         enviarTodos(msjToca, "");
         Thread.Sleep(3000);
         enviarTodos(iniciar, "");
         //THREAD CONTADOR
         Thread HiloContador = new Thread(contador);
         HiloContador.Start(EndToken);
         avanzarTurno();
         //SE ENVIA AL DEL TURNO ACTUAL EL MENSAJE TOCA DIBUJAR
     }
     else
     {
         RecToken.Cancel();
         string  ganador = "";
         int     puntos  = 0;
         Cliente cliente;
         foreach (string en in usuarioEnsala)
         {
             cliente = filtrar(en);
             if (cliente.Puntos > puntos)
             {
                 ganador = cliente.Id;
                 puntos  = cliente.Puntos;
             }
         }
         MensajeGanador msgGanador = new MensajeGanador("", ganador, 0, puntos);
         enviarTodos(msgGanador, "");
         EmpezoPartida = false;
     }
 }
Exemplo n.º 2
0
        private void Comunicacion_IniciarPartida(MensajeIniciarPartida m)
        {
            lblMensaje.Invoke((Action)(() => lblMensaje.Visible = false));
            pnlAdivina.Invoke((Action)(() => pnlAdivina.Invalidate()));
            //_PantallaActualizada.Set();
            // _EsperarHilo.WaitOne();

            /*
             * while (this.IsDisposed) { }
             *
             * lblMensaje.Invoke((Action)(() => lblMensaje.Visible = true));
             * Thread.Sleep(2000);
             * for (int i = 10; i > 0; i--)
             * {
             *  Invoke((Action)(() =>
             *  {
             *      lblMensaje.Text =toca+ ". La partida comenzará en:" + i;
             *  }));
             *  Thread.Sleep(1000);
             * }
             * lblMensaje.Invoke((Action)(() => lblMensaje.Visible = false));
             * pnlDibujo.Invoke((Action)(() => pnlDibujo.Visible = true));*/
        }
Exemplo n.º 3
0
        private void Serializador_Recibir(MensajeBase msg)
        {
            switch (msg.TipoMensaje)
            {
            case "MensajeLogin":
                if (Logear != null)
                {
                    try
                    {
                        MensajeLogin msgL = (MensajeLogin)msg;
                        Logear(msgL);
                    }
                    catch (InvalidCastException e) { }
                }
                break;

            case "MensajeEntrarSala":
                if (EntraSala != null)
                {
                    try
                    {
                        MensajeEntrarSala msgEn = (MensajeEntrarSala)msg;
                        EntraSala(msgEn);
                    }
                    catch (InvalidCastException e) { }
                }
                break;

            case "MensajeDibujarPuntos":
                MensajeDibujarPuntos msgDibPun = (MensajeDibujarPuntos)msg;
                if (Dibujar != null)
                {
                    Dibujar(msgDibPun);
                }
                break;

            case "MensajeEnviarPalabra":
                MensajeEnviarPalabra msgEnvPal = (MensajeEnviarPalabra)msg;
                if (RespuestaPalabraEnviada != null)
                {
                    RespuestaPalabraEnviada(msgEnvPal);
                }
                break;

            case "MensajeIniciarPartida":
                if (IniciarPartida != null)
                {
                    try
                    {
                        MensajeIniciarPartida msgEn = (MensajeIniciarPartida)msg;
                        IniciarPartida(msgEn);
                    }
                    catch (InvalidCastException e) { }
                }
                break;

            case "MensajeTocaDibujar":
                if (TocaDibujar != null)
                {
                    try
                    {
                        MensajeTocaDibujar msgEn = (MensajeTocaDibujar)msg;
                        TocaDibujar(msgEn);
                    }
                    catch (InvalidCastException e) { }
                }
                break;

            case "MensajeFinTrazo":
                if (FinTrazo != null)
                {
                    try
                    {
                        MensajeFinTrazo msgEn = (MensajeFinTrazo)msg;
                        FinTrazo(msgEn);
                    }
                    catch (InvalidCastException e) { }
                }
                break;

            case "MensajeContador":
                if (Contador != null)
                {
                    try
                    {
                        MensajeContador msgCon = (MensajeContador)msg;
                        Contador(msgCon);
                    }
                    catch (InvalidCastException e) {
                        Console.WriteLine("151" + e.Message);
                    }
                }
                break;

            case "MensajeUsuariosEnSala":
                if (UsuariosEnSala != null)
                {
                    try {
                        MensajeUsuariosEnSala msgUsSala = (MensajeUsuariosEnSala)msg;
                        UsuariosEnSala(msgUsSala);
                    }
                    catch (InvalidCastException e)
                    {
                        Console.WriteLine("164" + e.Message);
                    }
                }
                break;

            case "MensajeGanador":
                if (Ganador != null)
                {
                    try
                    {
                        MensajeGanador msgGanador = (MensajeGanador)msg;
                        Ganador(msgGanador);
                    }
                    catch (InvalidCastException e)
                    {
                        Console.WriteLine("180" + e.Message);
                    }
                }
                break;

            case "MensajeEmpate":
                if (Empate != null)
                {
                    try
                    {
                        MensajeEmpate msgempate = (MensajeEmpate)msg;
                        Empate(msgempate);
                    }
                    catch (InvalidCastException e)
                    {
                        Console.WriteLine("195" + e.Message);
                    }
                }
                break;
            }
        }
Exemplo n.º 4
0
        public void empezarNuevaPartida()
        {
            MensajeIniciarPartida iniciarPartida = new MensajeIniciarPartida("", "", 0);

            serializador.enviarMensaje(iniciarPartida);
        }