public void EnviarATodos(clsMensajeBase mensaje) { foreach (clsCliente c in listaCliente) { c.enviar(mensaje); } }
public void Inicio() { Console.WriteLine("Servidor escuchando en puerto 8000"); server = new TcpListener(ipendpoint); server.Start(); while (true) { if (juego.Jugadores.Count < 1) { client = server.AcceptTcpClient(); con = new Connection(); con.stream = client.GetStream(); con.streamr = new StreamReader(con.stream); con.streamw = new StreamWriter(con.stream); con.recibe = con.streamr.ReadLine(); clsMensajeBase msjLee = paquete.recibirMensaje(con.recibe); Console.WriteLine("Jugador " + msjLee.Nick + " se unio a la partida"); clsJugador jugador = new clsJugador(msjLee.Nick); juego.agregarJugador(jugador); cliente = new clsCliente(con.stream, con.streamw, con.streamr, msjLee.Nick); router.ListaCliente.Add(cliente); if ((1 - juego.Jugadores.Count) == 0) { router.comienzaPartida(); } Thread t = new Thread(cliente.DataIn); t.Start(); } } }
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 clsCliente(NetworkStream ntStream, StreamWriter sw, StreamReader sr, String nick) { stream = ntStream; streamw = sw; streamr = sr; this.nick = nick; msjPaquete = new clsManejoPaquetes(); clsMensajeBase m = new clsMensajeBase(); }
public void EnviarAUno(string nombre, clsMensajeBase mensaje) { foreach (clsCliente c in listaCliente) { if (c.Nick.Equals(nombre)) { c.enviar(mensaje); } } }
public void enviar(clsMensajeBase msj) { try { string aux = serializador.enviarMensaje(msj); streamw.WriteLine(aux); streamw.Flush(); } catch (Exception ex) { Console.Write(ex.Message); } }
public void enviar(clsMensajeBase msj) { try { streamw.WriteLine(msjPaquete.enviarMensaje(msj)); streamw.Flush(); } catch (System.IO.IOException e) { Console.ReadLine(); } catch (System.Net.Sockets.SocketException e) { Console.ReadLine(); } }
public void comenzar(clsMensajeBase msgBase) { if (msgBase.Retorno != "WAIT") { frmJuego frmP1 = new frmJuego(cliente, tbJugador.Text, msgBase); this.Invoke(new Action(() => { frmP1.Show(); this.Hide(); })); } else { MessageBox.Show("ESPERA DEMAS JUGADORES"); } }
public frmJuego(clsCliente cliente, String nick, clsMensajeBase msjBase) { InitializeComponent(); this.nick = nick; this.cliente = cliente; ///this.msjJuego = (clsMensajeJuego)msjBase; msjPartida = (clsMensajePartida)msjBase; start(msjPartida); cliente.acertoLetra += habilitaLetra; cliente.falloLetra += fallaLetra; cliente.acertoPalabra += habilitaPalabra; cliente.falloPalabra += fallaPalabra; cliente.timeForm += tiempo; cliente.finPartida += finPartida; cliente.DesconexionServidor += DesconexionServidor; cliente.ExitGame += ExitGame; palabra = cliente.Mensaje.PalabraAhorcado; Char[] palabraIndice = palabra.ToCharArray(); }
public void recibe(clsMensajeBase m, String nombre) //Revisar String nombre que viene JSON completo { lock (a) { clsMensajeJuego mensaje = (clsMensajeJuego)m; mensaje.PalabraAhorcado = juego.Palabra; switch (m.Accion) { case "PROBAR_LETRA": mensaje = juego.enviaLetra(nombre, mensaje.LetraPalabra); controlaFallo(mensaje, nombre); break; case "PROBAR_PALABRA": mensaje = juego.enviaPalabra(nombre, mensaje.LetraPalabra); controlaFallo(mensaje, nombre); break; } } }
private void habilitaLetra(clsMensajeBase m) { clsMensajeJuego msj = (clsMensajeJuego)m; Color colorJG = Color.Orange; lvJugadores.Invoke(new Action(() => { foreach (ListViewItem list in lvJugadores.Items) { this.Invoke(new Action(() => { if (msj.Nick.Equals(list.SubItems[0].Text)) { colorJG = list.SubItems[0].ForeColor; } })); } })); List <int> posiciones = msj.PosicionLetra; for (int i = 0; i < posiciones.Count; i++) { if (posiciones[i] == 0) { this.Invoke(new Action(() => { lb0.Text = msj.LetraPalabra; lbAdivina0.BackColor = colorJG; })); } else if (posiciones[i] == 1) { this.Invoke(new Action(() => { lb1.Text = msj.LetraPalabra; lbAdivina1.BackColor = colorJG; })); } else if (posiciones[i] == 2) { this.Invoke(new Action(() => { lb2.Text = msj.LetraPalabra; lbAdivina2.BackColor = colorJG; })); } else if (posiciones[i] == 3) { this.Invoke(new Action(() => { lb3.Text = msj.LetraPalabra; lbAdivina3.BackColor = colorJG; })); } else if (posiciones[i] == 4) { this.Invoke(new Action(() => { lb4.Text = msj.LetraPalabra; lbAdivina4.BackColor = colorJG; })); } else if (posiciones[i] == 5) { this.Invoke(new Action(() => { lb5.Text = msj.LetraPalabra; lbAdivina5.BackColor = colorJG; })); } else if (posiciones[i] == 6) { this.Invoke(new Action(() => { lb6.Text = msj.LetraPalabra; lbAdivina6.BackColor = colorJG; })); } else if (posiciones[i] == 7) { this.Invoke(new Action(() => { lb7.Text = msj.LetraPalabra; lbAdivina7.BackColor = colorJG; })); } else if (posiciones[i] == 8) { this.Invoke(new Action(() => { lb8.Text = msj.LetraPalabra; lbAdivina8.BackColor = colorJG; })); } else if (posiciones[i] == 9) { this.Invoke(new Action(() => { lb9.Text = msj.LetraPalabra; lbAdivina9.BackColor = colorJG; })); } else if (posiciones[i] == 10) { this.Invoke(new Action(() => { lb10.Text = msj.LetraPalabra; lbAdivina10.BackColor = colorJG; })); } else if (posiciones[i] == 11) { this.Invoke(new Action(() => { lb11.Text = msj.LetraPalabra; lbAdivina11.BackColor = colorJG; })); } else if (posiciones[i] == 12) { this.Invoke(new Action(() => { lb12.Text = msj.LetraPalabra; lbAdivina12.BackColor = colorJG; })); } else if (posiciones[i] == 13) { this.Invoke(new Action(() => { lb13.Text = msj.LetraPalabra; lbAdivina13.BackColor = colorJG; })); } } }
private void tiempo(clsMensajeBase m) { msjTime = (clsMensajeTimer)m; lbTime.Invoke((Action)(() => lbTime.Text = msjTime.Segundero.ToString())); }
private void habilitaPalabra(clsMensajeBase m) { ganador = (clsMensajeGanador)m; int cant = ganador.PalabraAhorcado.Length; for (int i = 0; i < cant; i++) { if (i == 0) { this.Invoke(new Action(() => { lb0.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 1) { this.Invoke(new Action(() => { lb1.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 2) { this.Invoke(new Action(() => { lb2.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 3) { this.Invoke(new Action(() => { lb3.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 4) { this.Invoke(new Action(() => { lb4.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 5) { this.Invoke(new Action(() => { lb5.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 6) { this.Invoke(new Action(() => { lb6.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 7) { this.Invoke(new Action(() => { lb7.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 8) { this.Invoke(new Action(() => { lb8.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 9) { this.Invoke(new Action(() => { lb9.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 10) { this.Invoke(new Action(() => { lb10.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 11) { this.Invoke(new Action(() => { lb11.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 12) { this.Invoke(new Action(() => { lb12.Text = ganador.PalabraAhorcado[i].ToString(); })); } else if (i == 13) { this.Invoke(new Action(() => { lb13.Text = ganador.PalabraAhorcado[i].ToString(); })); } } frmGanador frmGana = new frmGanador(ganador.ListaJugadores[ganador.Indice_ganador].Nick.ToString(), cliente); frmGana.ShowDialog(); limpiarForm(); //Reiniciar juego despues que muestre al ganador }
public string enviarMensaje(clsMensajeBase msj) { return(JsonConvert.SerializeObject(msj)); }
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(); } }