示例#1
0
        private void AtenderServidor()
        {
            while (true)
            {
                //Recibimos mensaje del servidor
                byte[] msg2 = new byte[80];
                server.Receive(msg2);
                string msg5 = Encoding.ASCII.GetString(msg2).Split('\0')[0];
                //MessageBox.Show("mensaje recibido " + msg5 + nombre + "finmensaje");
                string[] trozos = msg5.Split('/');

                int codigo = Convert.ToInt32(trozos[0]);

                string mensaje = trozos[1];
                string mensajevuelta;
                string mensajevuelta2;
                string mensajecrear;
                string Nombreconv;

                switch (codigo)
                {
                case 1:      // LogIn
                    DelegadoParaMostrar d6 = new DelegadoParaMostrar(VisiblelblCase1);
                    label3.Invoke(d6, new Object[] {});
                    DelegadoParaMostrar d7 = new DelegadoParaMostrar(VisibleTxtCase1);
                    Fecha.Invoke(d7, new Object[] {});
                    DelegadoParaMostrar d8 = new DelegadoParaMostrar(VisibleBotonCase1);
                    Ganador.Invoke(d8, new Object[] {});


                    MessageBox.Show("Estas dentro: " + mensaje);
                    break;

                case 2:      // Edad media de los ganadores con ese color

                    MessageBox.Show("Edad media: " + mensaje);
                    break;

                case 3:      // Ganador en esa fecha

                    MessageBox.Show("El ganador es: " + mensaje);
                    break;

                case 4:      // Tanto por ciento de partidas ganadas

                    MessageBox.Show("Tanto por ciento de partidas ganadas con ese color es: " + mensaje);
                    break;

                case 5:     // listadeconectados
                    //MessageBox.Show("Se ha conectado lista: " + mensaje);
                    string[] partes       = Encoding.ASCII.GetString(msg2).Split('/');
                    string   mensajefinal = partes[1].Split('\0')[0];
                    string[] mensaje2     = mensajefinal.Split('|');

                    DelegadoParaEscribir dele = new DelegadoParaEscribir(EscribeConectados);
                    dataGridView1.Invoke(dele, new Object[] { mensaje2 });


                    break;

                case 6:     //Muestra si se ha aceptado la peticion

                    mensajevuelta = trozos[1].Split('\0')[0];
                    acepta        = trozos[2].Split('\0')[0];

                    DelegadoParaMostrar   d9  = new DelegadoParaMostrar(VisiblePanelIf);
                    DelegadoParaEscribir2 d10 = new DelegadoParaEscribir2(EscribeBox2);


                    if ((mensajevuelta == "Acepta") && (acepta != nombre.Text))
                    {
                        panel2.Invoke(d9, new Object[] {});

                        textBox2.Invoke(d10, new Object[] { acepta + " acepta la inviacion" });
                    }
                    else if ((mensajevuelta == "Rechazar") && (acepta != nombre.Text))
                    {
                        panel2.Invoke(d9, new Object[] { });
                        textBox2.Invoke(d10, new Object[] { acepta + " rechaza la inviacion" });
                    }
                    else
                    {
                        MessageBox.Show("Yo no me puedo autoinvitar");
                    }
                    break;

                case 7:     //Invitar

                    mensajevuelta   = trozos[1].Split('\0')[0];
                    NombreInvitador = trozos[2].Split('\0')[0];


                    DelegadoParaMostrar   d11 = new DelegadoParaMostrar(VisibleCase7);
                    DelegadoParaEscribir2 d12 = new DelegadoParaEscribir2(EscribeBox3);
                    DelegadoParaMostrar   d13 = new DelegadoParaMostrar(NoVisiblePanel1);
                    DelegadoParaMostrar   d17 = new DelegadoParaMostrar(VisiblePanel);


                    if (mensajevuelta == "Invitado")
                    {
                        tablero.Invoke(d17, new Object[] { });
                        panel1.Invoke(d11, new Object[] { });
                        InvitadortextBox3.Invoke(d12, new Object[] { NombreInvitador });
                    }
                    else
                    {
                        tablero.Invoke(d17, new Object[] { });
                        panel1.Invoke(d13, new Object[] { });
                    }
                    break;

                case 8:     // Recibo una frase chat
                    mensajevuelta = trozos[1].Split('\0')[0];
                    Nombreconv    = trozos[2].Split('\0')[0];
                    DelegadoParaEscribir2 d16 = new DelegadoParaEscribir2(EscribeChat);
                    Chatlbl.Invoke(d16, new Object[] { Chatlbl.Text + Nombreconv + ":" + mensajevuelta + "\n" });

                    break;

                case 9:     //Mostramos CHAT



                    id             = idposible;
                    mensajevuelta  = trozos[1].Split('\0')[0];
                    mensajevuelta2 = trozos[2].Split('\0')[0];
                    string[] mensajeinvitados = mensajevuelta2.Split('|');

                    if (mensajevuelta == "crear")
                    {
                        DelegadoParaMostrar d14 = new DelegadoParaMostrar(CrearChatVisible);
                        chatlabel.Invoke(d14, new Object[] { });

                        DelegadoParaMostrarLabel d18 = new DelegadoParaMostrarLabel(MostrarLabelrojo);
                        nombreRojo.Invoke(d18, new Object[] { mensajeinvitados });
                    }

                    else
                    {
                        MessageBox.Show("No se ha podido enviar nah :V");
                    }



                    break;

                case 10:     //Enviamos posibe IDP

                    idposible = Convert.ToInt32(trozos[1].Split('\0')[0]);

                    break;

                case 11:     //Iniciar Partida

                    id            = idposible;
                    mensajevuelta = trozos[1].Split('\0')[0];
                    string[] mensajejugadores = trozos[1].Split('|');
                    numerojugadores = (mensajejugadores.Length - 1);

                    for (int i = 0; i < (mensajejugadores.Length - 1); i++)
                    {
                        vectorjugadores[i] = mensajejugadores[i + 1];
                    }

                    vectorposiciones[0] = 130;
                    vectorposiciones[1] = 131;
                    vectorposiciones[2] = 132;
                    vectorposiciones[3] = 133;

                    // Se prepara el inicio de la Partida
                    DelegadoParaMostrarLabel d100 = new DelegadoParaMostrarLabel(MostrarLabels);
                    nombreRojo.Invoke(d100, new Object[] { vectorjugadores });

                    DelegadoParaMostrar d102 = new DelegadoParaMostrar(InicioPartida);
                    nombreRojo.Invoke(d102, new Object[] {});

                    DelegadoParaMostrar jug2 = new DelegadoParaMostrar(VisibleParaJugar);
                    button4.Invoke(jug2, new Object[] { });
                    numeroLbl.Invoke(jug2, new Object[] { });
                    turno = 0;
                    DelegadoParaEscribir2 jug1 = new DelegadoParaEscribir2(EscribeLabelturno);
                    turnoLbl.Invoke(jug1, new Object[] { vectorjugadores[turno] });


                    break;

                case 12:     // Recibe los turnos y las posiciones de las fichas con el dado


                    turno = Convert.ToInt32(trozos[1]);
                    DelegadoParaEscribir2 jug12 = new DelegadoParaEscribir2(EscribeLabelturno);
                    turnoLbl.Invoke(jug12, new Object[] { vectorjugadores[turno] });

                    turno2        = Convert.ToInt32(trozos[2]);
                    mensajevuelta = trozos[3].Split('\0')[0];
                    string[] mensajeposiciones = trozos[3].Split('|');

                    for (int i = 0; i < (mensajeposiciones.Length); i++)
                    {
                        vectorposiciones[i] = Convert.ToInt32(mensajeposiciones[i]);
                    }


                    DelegadoParaFicha d21 = new DelegadoParaFicha(MostraFicha);
                    ficharoja.Invoke(d21, new Object[] { vectorposiciones });

                    break;

                case 13:      // El registro satisfactorio o no y el Borrado de usuarios

                    MessageBox.Show(nombre.Text + ": " + mensaje);
                    break;

                case 14:     //Se recibe el turno y las posiciones de los jugadores al iniciar partida


                    mensajevuelta = trozos[2].Split('\0')[0];
                    string[] mensajeposiciones2 = trozos[2].Split('|');

                    for (int i = 0; i < (mensajeposiciones2.Length); i++)
                    {
                        vectorposiciones[i] = Convert.ToInt32(mensajeposiciones2[i]);
                    }



                    DelegadoParaFicha d23 = new DelegadoParaFicha(MostraFicha);
                    ficharoja.Invoke(d23, new Object[] { vectorposiciones });

                    break;

                case 15:     //FIN PARTIDA

                    MessageBox.Show(nombre.Text + ": " + mensaje);
                    DelegadoParaFinalizar d101 = new DelegadoParaFinalizar(FinPartida);
                    nombreRojo.Invoke(d101, new Object[] {});


                    break;
                }
            }
        }
示例#2
0
        private void AtenderServidor()
        {
            while (true)
            {
                //Recibimos mensaje del servidor
                byte[] msg2 = new byte[80];
                server.Receive(msg2);
                string[] trozos  = Encoding.ASCII.GetString(msg2).Split('/');
                int      codigo  = Convert.ToInt32(trozos[0]);
                string   mensaje = trozos[1].Split('\0')[0];
                string   mensajevuelta;
                string   Nombreconv;

                switch (codigo)
                {
                case 1:      // LogIn
                    DelegadoParaMostrar d6 = new DelegadoParaMostrar(VisiblelblCase1);
                    label3.Invoke(d6, new Object[] {});
                    DelegadoParaMostrar d7 = new DelegadoParaMostrar(VisibleTxtCase1);
                    Fecha.Invoke(d7, new Object[] {});
                    DelegadoParaMostrar d8 = new DelegadoParaMostrar(VisibleBotonCase1);
                    Ganador.Invoke(d8, new Object[] {});


                    MessageBox.Show("Estas dentro: " + mensaje);
                    break;

                case 2:      // Edad media de los ganadores con ese color

                    MessageBox.Show("Edad media: " + mensaje);
                    break;

                case 3:      // Ganador en esa fecha

                    MessageBox.Show("El ganador es: " + mensaje);
                    break;

                case 4:      // Tanto por ciento de partidas ganadas

                    MessageBox.Show("Tanto por ciento de partidas ganadas con ese color es: " + mensaje);
                    break;

                case 5:     // listadeconectados

                    string[] partes       = Encoding.ASCII.GetString(msg2).Split('/');
                    string   mensajefinal = partes[1].Split('\0')[0];
                    string[] mensaje2     = mensajefinal.Split('|');

                    DelegadoParaEscribir dele = new DelegadoParaEscribir(EscribeConectados);
                    dataGridView1.Invoke(dele, new Object[] { mensaje2 });

                    break;

                case 6:     //Muestra si se ha aceptado la peticion

                    mensajevuelta = trozos[1].Split('\0')[0];
                    acepta        = trozos[2].Split('\0')[0];

                    DelegadoParaMostrar   d9  = new DelegadoParaMostrar(VisiblePanelIf);
                    DelegadoParaEscribir2 d10 = new DelegadoParaEscribir2(EscribeBox2);


                    if (mensajevuelta == "Acepta")
                    {
                        panel2.Invoke(d9, new Object[] {});

                        textBox2.Invoke(d10, new Object[] { acepta + " acepta la inviacion" });
                    }
                    else
                    {
                        panel2.Invoke(d9, new Object[] { });
                        textBox2.Invoke(d10, new Object[] { acepta + " rechaza la inviacion" });
                    }

                    break;

                case 7:     //Invitar

                    mensajevuelta   = trozos[1].Split('\0')[0];
                    NombreInvitador = trozos[2].Split('\0')[0];


                    DelegadoParaMostrar   d11 = new DelegadoParaMostrar(VisibleCase7);
                    DelegadoParaEscribir2 d12 = new DelegadoParaEscribir2(EscribeBox3);
                    DelegadoParaMostrar   d13 = new DelegadoParaMostrar(NoVisiblePanel1);
                    DelegadoParaMostrar   d17 = new DelegadoParaMostrar(VisiblePanel);


                    if (mensajevuelta == "Invitado")
                    {
                        tablero.Invoke(d17, new Object[] { });
                        panel1.Invoke(d11, new Object[] { });
                        InvitadortextBox3.Invoke(d12, new Object[] { NombreInvitador });
                    }
                    else
                    {
                        tablero.Invoke(d17, new Object[] { });
                        panel1.Invoke(d13, new Object[] { });
                    }
                    break;

                case 8:     // Recibo una frase chat
                    mensajevuelta = trozos[1].Split('\0')[0];
                    Nombreconv    = trozos[2].Split('\0')[0];
                    DelegadoParaEscribir2 d16 = new DelegadoParaEscribir2(EscribeChat);
                    Chatlbl.Invoke(d16, new Object[] { Chatlbl.Text + Nombreconv + ":" + mensajevuelta + "\n" });

                    break;

                case 9:     //Mostramos CHAT

                    id            = idposible;
                    mensajevuelta = trozos[1].Split('\0')[0];

                    if (mensajevuelta == "crear")
                    {
                        DelegadoParaMostrar d14 = new DelegadoParaMostrar(CrearChatVisible);
                        chatlabel.Invoke(d14, new Object[] { });
                    }

                    else
                    {
                        MessageBox.Show("No se ha podido enviar nah :V");
                    }

                    break;

                case 10:     //Enviamos posibe IDP

                    idposible = Convert.ToInt32(trozos[1].Split('\0')[0]);

                    break;
                }
            }
        }