Exemple #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;
     }
 }
Exemple #2
0
 private void Comunicacion_TocaDibujar(MensajeTocaDibujar m)
 {
     msj = m;
     p   = msj.PalabraAdivinar;
     // _PantallaActualizada.WaitOne();
     if (usuario.User == m.Dibujante)
     {
         lblPalabra.Invoke((Action)(() => lblPalabra.Visible = true));
         groupBox1.Invoke((Action)(() => groupBox1.Visible = true));
         lblPalabra.Invoke((Action)(() => lblPalabra.Text = m.PalabraAdivinar));
         lblAdivina.Invoke((Action)(() => lblAdivina.Visible = false));
         pnlAdivina.Invoke((Action)(() => pnlAdivina.Visible = false));
         tbPalabra.Invoke((Action)(() => tbPalabra.Visible = false));
         pnlDibujo.Invoke((Action)(() => pnlDibujo.Visible = true));
         toca = "Sos dibujante";
     }
     else
     {
         groupBox1.Invoke((Action)(() => groupBox1.Visible = false));
         lblPalabra.Invoke((Action)(() => lblPalabra.Visible = false));
         lblAdivina.Invoke((Action)(() =>
         {
             lblAdivina.Visible = true;
             lblAdivina.Text = "";
             int longPalabra = m.PalabraAdivinar.Length;
             for (int i = 0; i < longPalabra; i++)
             {
                 lblAdivina.Text += " _ ";
             }
         }
                                    ));
         pnlDibujo.Invoke((Action)(() => pnlDibujo.Visible = false));
         pnlAdivina.Invoke((Action)(() => pnlAdivina.Visible = true));
         tbPalabra.Invoke((Action)(() => tbPalabra.Visible = true));
         toca = "Tenés que adivinar";
     }
     // _EsperarHilo.Set();
 }
Exemple #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;
            }
        }