示例#1
0
        private void PreMatch(Equipo Player1, string Juga1, Equipo Player2, string Juga2)
        {   //Funcion que muestra en el panel los pokemons de los dos equipos los primeros 10 segundos
            PictureBox Pokemon1 = new PictureBox();
            PictureBox Pokemon2 = new PictureBox();
            PictureBox Pokemon3 = new PictureBox();
            Bitmap     image1   = new Bitmap(directorio + "\\SmallSprites\\" + Player1.GetPokemon(0).Nombre + ".png");
            Bitmap     image2   = new Bitmap(directorio + "\\SmallSprites\\" + Player1.GetPokemon(1).Nombre + ".png");
            Bitmap     image3   = new Bitmap(directorio + "\\SmallSprites\\" + Player1.GetPokemon(2).Nombre + ".png");

            Pokemon1.Image    = (Image)image1;
            Pokemon2.Image    = (Image)image2;
            Pokemon3.Image    = (Image)image3;
            Pokemon1.Location = new Point(40, 60);
            Pokemon2.Location = new Point(40, 100);
            Pokemon3.Location = new Point(40, 140);
            panel1.Controls.Add(Pokemon1);
            panel1.Controls.Add(Pokemon2);
            panel1.Controls.Add(Pokemon3);
            Label Jug1 = new Label();

            Jug1.Text     = Juga1;
            Jug1.Font     = new Font(pfc.Families[0], 10, FontStyle.Regular);
            Jug1.Location = new Point(40, 40);
            panel1.Controls.Add(Jug1);

            PictureBox Pokemon4 = new PictureBox();
            PictureBox Pokemon5 = new PictureBox();
            PictureBox Pokemon6 = new PictureBox();
            Bitmap     image4   = new Bitmap(directorio + "\\SmallSprites\\" + Player2.GetPokemon(0).Nombre + ".png");
            Bitmap     image5   = new Bitmap(directorio + "\\SmallSprites\\" + Player2.GetPokemon(1).Nombre + ".png");
            Bitmap     image6   = new Bitmap(directorio + "\\SmallSprites\\" + Player2.GetPokemon(2).Nombre + ".png");

            Pokemon4.Image    = (Image)image4;
            Pokemon5.Image    = (Image)image5;
            Pokemon6.Image    = (Image)image6;
            Pokemon4.Location = new Point(160, 60);
            Pokemon5.Location = new Point(160, 100);
            Pokemon6.Location = new Point(160, 140);
            panel1.Controls.Add(Pokemon4);
            panel1.Controls.Add(Pokemon5);
            panel1.Controls.Add(Pokemon6);
            Label Jug2 = new Label();

            Jug2.Text     = Juga2;
            Jug2.Font     = new Font(pfc.Families[0], 10, FontStyle.Regular);
            Jug2.Location = new Point(160, 40);
            panel1.Controls.Add(Jug2);

            Jug1.BringToFront();
            Pokemon1.BringToFront();
            Pokemon2.BringToFront();
            Pokemon3.BringToFront();
            Jug2.BringToFront();
            Pokemon4.BringToFront();
            Pokemon5.BringToFront();
            Pokemon6.BringToFront();
        }
示例#2
0
 private void Confirm_Click(object sender, EventArgs e)//Boton para confirmar la seleccion de un Pokemon
 {
     if (EquipoBatalla.Pokemons_Iniciales == 3)
     {
         string mensaje = "12/" + EquipoBatalla.GetPokemon(0).Nombre + "," + EquipoBatalla.GetPokemon(1).Nombre + "," + EquipoBatalla.GetPokemon(2).Nombre;
         byte[] msg     = System.Text.Encoding.ASCII.GetBytes(mensaje);
         Server.Send(msg);
         this.Close();
     }
     else
     {
         MessageBox.Show("No hay 3 Pokemons en el equipo");
     }
 }
示例#3
0
 public void ChangePokemon(string Player, int PokemonActual, int PokemonCambio)
 {   //Cambia el pokemon en memoria y guarda los PS
     if (Player == this.Jugador1)
     {
         EquipoJugador1.Pokemons[PokemonActual].PSactuales = PokemonLuchando1.PSactuales;
         PokemonLuchando1 = EquipoJugador1.GetPokemon(PokemonCambio);
         SpawnPokemon1(PokemonLuchando1);
         ActualizarBarraSalud1(PokemonLuchando1, barrasalud1);
     }
     if (Player == this.Jugador2)
     {
         EquipoJugador2.Pokemons[PokemonActual].PSactuales = PokemonLuchando2.PSactuales;
         PokemonLuchando2 = EquipoJugador2.GetPokemon(PokemonCambio);
         SpawnPokemon2(PokemonLuchando2);
         ActualizarBarraSalud2(PokemonLuchando2, barrasalud2);
     }
 }
示例#4
0
        private Pokemon SearchPokemon(string pok)
        {       //Retorna un pokemon con el nombre que se ll da
            bool encontrado = false;
            int  i          = 0;

            while (!encontrado)
            {
                if (Disponibles.GetPokemon(i).Nombre == pok)
                {
                    encontrado = true;
                }
                else
                {
                    i = i + 1;
                }
            }
            return(Disponibles.GetPokemon(i));
        }
示例#5
0
        private void Añadir_Click(object sender, EventArgs e)//Boton para añadir un Pokemon al equipo
        {
            int numPokes = EquipoBatalla.Pokemons_Iniciales;

            if (numPokes == 0)
            {
                label1.Text    = Convert.ToString(PokemonsDisponibles.CurrentCell.Value);
                label1.Visible = true;
                Bitmap image = new Bitmap(directorio + "\\SmallSprites\\" + PokemonsDisponibles.CurrentCell.Value + ".png");
                Pokemon1.Image     = (Image)image;
                Pokemon1.BackColor = Color.Transparent;
                EquipoBatalla.AddPokemon(Disponibles.GetPokemon(PokemonsDisponibles.CurrentCell.RowIndex));
            }
            else if (numPokes == 1)
            {
                label2.Text    = Convert.ToString(PokemonsDisponibles.CurrentCell.Value);
                label2.Visible = true;
                Bitmap image = new Bitmap(directorio + "\\SmallSprites\\" + PokemonsDisponibles.CurrentCell.Value + ".png");
                Pokemon2.Image     = (Image)image;
                Pokemon2.BackColor = Color.Transparent;
                EquipoBatalla.AddPokemon(Disponibles.GetPokemon(PokemonsDisponibles.CurrentCell.RowIndex));
            }
            else if (numPokes == 2)
            {
                label3.Text    = Convert.ToString(PokemonsDisponibles.CurrentCell.Value);
                label3.Visible = true;
                Bitmap image = new Bitmap(directorio + "\\SmallSprites\\" + PokemonsDisponibles.CurrentCell.Value + ".png");
                Pokemon3.Image     = (Image)image;
                Pokemon3.BackColor = Color.Transparent;
                EquipoBatalla.AddPokemon(Disponibles.GetPokemon(PokemonsDisponibles.CurrentCell.RowIndex));
            }
            else
            {
                MessageBox.Show("Ya tienes 3 Pokemons");
            }
        }
示例#6
0
        private void AtenderServidor()//Funcion que atiende al servidor. Dependiendo del codigo que reciba hara unas acciones.
        {
            while (true)
            {
                byte[] msg2 = new byte[80];
                try
                {
                    server.Receive(msg2);
                }
                catch (SocketException ex)
                {
                    MessageBox.Show(ex.Message.ToString());
                }

                string[] mensaje = Encoding.ASCII.GetString(msg2).Split(':');

                int    codigo    = Convert.ToInt32(mensaje[0]);
                string contenido = mensaje[1].Split('\0')[0];


                switch (codigo)
                {
                case 1:
                    if (contenido == "0")
                    {
                        DelegadoInicioSesion delegadoStart = new DelegadoInicioSesion(DelegarInicioSesion);
                        Enviar.Invoke(delegadoStart);
                        MessageBox.Show("Sesion Iniciada");
                    }
                    else
                    {
                        string mensaje2 = "0/" + User.Text;
                        byte[] msg3     = System.Text.Encoding.ASCII.GetBytes(mensaje2);
                        server.Send(msg3);
                        server.Shutdown(SocketShutdown.Both);
                        server.Close();
                        MessageBox.Show("El nombre ya está registrado");
                        Atender.Abort();
                    }
                    break;

                case 2:
                    if (contenido == "0")
                    {
                        DelegadoInicioSesion delegadoStart = new DelegadoInicioSesion(DelegarInicioSesion);
                        Enviar.Invoke(delegadoStart);
                        MessageBox.Show("Sesion Iniciada");
                    }
                    else
                    {
                        string mensaje2 = "0/" + User.Text;
                        byte[] msg3     = System.Text.Encoding.ASCII.GetBytes(mensaje2);
                        server.Send(msg3);
                        server.Shutdown(SocketShutdown.Both);
                        server.Close();
                        MessageBox.Show("El nombre y/o la contraseña son incorrectos.");
                        Atender.Abort();
                    }
                    break;

                case 3:
                    if (contenido == "NoEncontrado")
                    {
                        MessageBox.Show("No se ha encontrado el jugador");
                    }
                    else if (contenido != "")
                    {
                        MessageBox.Show("Número de turnos:" + contenido);
                    }
                    else
                    {
                        MessageBox.Show("Error");
                    }
                    break;

                case 4:
                    if (contenido == "NoEncontrado")
                    {
                        MessageBox.Show("No se ha encontrado la partida");
                    }
                    else if (contenido != "")
                    {
                        MessageBox.Show("Jugadores:" + contenido);
                    }
                    else
                    {
                        MessageBox.Show("Error");
                    }
                    break;

                case 5:
                    if (contenido == "NoEncontrado")
                    {
                        MessageBox.Show("No se ha encontrado el jugador");
                    }
                    else if (contenido != "")
                    {
                        MessageBox.Show("Número de turnos:" + contenido);
                    }
                    else
                    {
                        MessageBox.Show("Error");
                    }
                    break;

                case 6:
                    DelegadoListaConectados delegadoLista = new DelegadoListaConectados(RellenarListaConectados);
                    dataGridView1.Invoke(delegadoLista, new object[] { contenido });
                    break;

                case 7:
                    DelegadoInvitacionRecibida delegadoInv = new DelegadoInvitacionRecibida(DelegarInvitacionRecibida);
                    Invitacion.Invoke(delegadoInv, new object[] { contenido });
                    UsuarioInvita = contenido;
                    break;

                case 8:
                    Aceptados.Add(contenido);
                    Respuestas.Add(contenido);
                    MessageBox.Show(contenido + " ha aceptado la partida");
                    if (Invitaciones == Aceptados.Count)
                    {
                        MessageBox.Show("Todos los jugadores han aceptado la partida");
                        Empezar_Partida();
                        Respuestas.Clear();
                        Aceptados.Clear();
                    }
                    else if ((Invitaciones == Respuestas.Count()) && (Respuestas.Count != Aceptados.Count()))
                    {
                        MessageBox.Show("Algun jugador ha rechazado la partida");
                        DelegadoInvitacionRechazada delegadorech1 = new DelegadoInvitacionRechazada(DelegarInvitacionRechazada);
                        Invite.Invoke(delegadorech1);
                        Invitaciones = 0;
                        Respuestas.Clear();
                        Aceptados.Clear();
                    }
                    break;

                case 9:
                    MessageBox.Show(contenido + " ha rechazado la partida");
                    Respuestas.Add(contenido);
                    if ((Invitaciones == Respuestas.Count()) && (Respuestas.Count != Aceptados.Count()))
                    {
                        DelegadoInvitacionRechazada delegadorech2 = new DelegadoInvitacionRechazada(DelegarInvitacionRechazada);
                        Invite.Invoke(delegadorech2);
                        MessageBox.Show("Algun jugador ha rechazado la partida");
                        Invitaciones = 0;
                        Respuestas.Clear();
                        Aceptados.Clear();
                    }
                    break;

                case 10:
                    IDChat = Convert.ToInt32(contenido);
                    MessageBox.Show("Iniciando partida " + IDChat);
                    DelegadoInvitacionRechazada delegadorech3 = new DelegadoInvitacionRechazada(DelegarInvitacionRechazada);
                    Invite.Invoke(delegadorech3);
                    string mensaje3 = "13/" + IDChat + "," + User.Text + "," + EquipoBatallaPropio.GetPokemon(0).Nombre + "," + EquipoBatallaPropio.GetPokemon(1).Nombre + "," + EquipoBatallaPropio.GetPokemon(2).Nombre;
                    byte[] msg      = System.Text.Encoding.ASCII.GetBytes(mensaje3);
                    server.Send(msg);
                    break;

                case 11:
                    int ID = Convert.ToInt32(contenido.Split('-')[0]);
                    contenido = contenido.Split('-')[1];
                    int IDindex = BuscarID(ID);
                    Chats[IDindex].EscribirMensaje(contenido);
                    break;

                case 12:
                    ID = Convert.ToInt32(contenido.Split('-')[0]);
                    string usuario = contenido.Split('-')[1];
                    int    salida  = Convert.ToInt32(contenido.Split('-')[2]);
                    IDindex = BuscarID(ID);
                    if (salida == 1)
                    {
                        MessageBox.Show("Partida finalizada");
                    }
                    else
                    {
                        MessageBox.Show("El usuario " + usuario + " ha abandonado la partida");
                    }
                    Chats[IDindex].AbandonarPartida();
                    break;

                case 13:
                    string[] TuEquipo = contenido.Split(',');
                    SetEquipoPropio(TuEquipo[0], TuEquipo[1], TuEquipo[2]);
                    DelegadoActivarInvitacion delegadoInvite = new DelegadoActivarInvitacion(DelegarActivarInvitacion);
                    Invite.Invoke(delegadoInvite);
                    break;

                case 14:
                    string[] content = contenido.Split('-');
                    int      IDa     = Convert.ToInt32(content[0]);
                    contenido = content[1];
                    content   = contenido.Split(',');
                    bool OponenteRecibido = false;
                    if (content[0] != User.Text)
                    {
                        SetEquipoOponente(content[1], content[2], content[3]);
                        Oponente         = content[0];
                        OponenteRecibido = true;
                    }
                    if (OponenteRecibido == true)
                    {
                        ThreadStart ts2   = delegate { AbrirChat(); };
                        Thread      forms = new Thread(ts2);
                        forms.Start();
                    }
                    break;

                case 15:
                    ID        = Convert.ToInt32(contenido.Split('-')[0]);
                    contenido = contenido.Split('-')[1];
                    IDindex   = BuscarID(ID);
                    Chats[IDindex].bt.RecibirOrden(contenido);
                    break;

                case 16:
                    if (contenido == "0")
                    {
                        MessageBox.Show("Usuario Eliminado");
                        DelegadoDesconexion delegadoStart = new DelegadoDesconexion(DelegarDesconexion);
                        Desconexion.Invoke(delegadoStart);
                    }
                    else
                    {
                        MessageBox.Show("No se ha podido eliminar el usuario");
                    }
                    break;

                case 17:
                    ID        = Convert.ToInt32(contenido.Split('-')[0]);
                    contenido = contenido.Split('-')[1];
                    IDindex   = BuscarID(ID);
                    Chats[IDindex].PokemonDebilitadoDelegado(contenido);
                    break;
                }
            }
        }