private void Comunicacion_RespuestaPalabraEnviada(MensajeEnviarPalabra m) { if (m.Correcta) { if (m.To == usuario.User) { usuario.Puntos += m.Puntos; lblPuntos.Invoke((Action)(() => lblPuntos.Text = usuario.Puntos.ToString())); lblMensaje.Invoke((Action)(() => { lblMensaje.Text = "Ganaste esta ronda!!"; lblMensaje.Visible = true; } )); } else { lblMensaje.Invoke((Action)(() => { lblMensaje.Text = "El ganador es" + m.To + "!"; lblMensaje.Visible = true; } )); } } else { lbPalabrasIncorrectas.Invoke((Action)(() => { lbPalabrasIncorrectas.Items.Add(m.From + ": " + m.Palabra); })); } }
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; } }
public void enviaRta(string rta, string nombre, int puntos) { MensajeEnviarPalabra enviarPalabra = new MensajeEnviarPalabra(nombre, "", 0, rta, puntos); serializador.enviarMensaje(enviarPalabra); }
private void C_Recibir(MensajeBase msg) { //si es para el servidor: if (msg.To == "") { switch (msg.TipoMensaje) { case "MensajeEnviarPalabra": MensajeEnviarPalabra mj = (MensajeEnviarPalabra)msg; Cliente c = filtrar(mj.From); if (corroborar(mj.Palabra)) { if (c != null) { filtrar(mj.From).Puntos = mj.Puntos; mj.To = mj.From; mj.From = ""; mj.Correcta = true; enviarTodos(mj, ""); RecToken.Cancel(); actualizarSala(); empezarPartida(); } } else { enviarTodos(mj, ""); // filtrar(mj.From).enviar(); } break; case "MensajeDibujandoPuntos": enviarTodos(msg, msg.From); break; case "MensajeGanador": msg = (MensajeGanador)msg; break; case "MensajeEntrarSala": Console.WriteLine("ENTRO A LA BENDITA SALA"); enSala++; msg = (MensajeEntrarSala)msg; usuarioEnsala.Add(msg.From); actualizarSala(); if (enSala > 1 && !EmpezoPartida) { empezarPartida(); } break; case "MensajeFinTrazo": enviarTodos(msg, msg.From); break; case "MensajeIniciarPartida": rondaActual = 0; turnoActual = 0; foreach (Cliente cli in listaClientes) { cli.Puntos = -cli.Puntos; } actualizarSala(); empezarPartida(); break; } } #region msg todos o server //si el msj es para todos: else if (msg.To == "*") { lock (_ListaLocker) { foreach (Cliente c in listaClientes) { c.enviar(msg); } } } //todos menos uno else if (msg.To == "-") { enviarTodos(msg, msg.From); } // si no es para el servidor: else { if (filtrar(msg.To) != null) { filtrar(msg.To).enviar(msg); } } #endregion }