예제 #1
0
        /// <summary>
        /// Boton que corresponde a la acción de ataque
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void button1_Click(object sender, EventArgs e)
        {
            int tropasMovida;
            int id_seleccionado;
            int id_opcion;

            if (CB_vecinos.SelectedIndex == -1)
            {
                DialogResult result;

                // Displays the MessageBox.

                result = MessageBox.Show("Selecione un Pais en: Opciones de País", "ERROR");
            }
            else
            {
                tropasMovida = Convert.ToInt32(nUDtropas.Value);
                string[] aux1 = txtPaisSeleccionado.Text.Split('.');
                string[] aux2 = CB_vecinos.SelectedItem.ToString().Split('.');
                id_seleccionado = Convert.ToInt32(aux1[0]);
                id_opcion       = Convert.ToInt32(aux2[0]);
                int diferencia;

                if (fase == 1)
                {
                    diferencia = tropasMovida - Tablero.Lista_Paises[id_opcion - 1].Tropas;
                    if (diferencia >= 2)
                    {
                        Listbtn[id_opcion].BackColor = System.Drawing.Color.Green;


                        Tablero.Lista_Paises[id_seleccionado - 1].Tropas -= tropasMovida;
                        Listbtn[id_seleccionado].Text = Tablero.Lista_Paises[id_seleccionado - 1].Tropas.ToString();
                        if (Tablero.Lista_Paises[id_opcion - 1].Pertenencia == 2)
                        {
                            Tablero.Lista_Paises[id_opcion - 1].Tropas = diferencia;
                        }
                        else
                        {
                            Tablero.Lista_Paises[id_opcion - 1].Tropas += diferencia;
                        }
                        Listbtn[id_opcion].Text = Tablero.Lista_Paises[id_opcion - 1].Tropas.ToString();
                        Tablero.Lista_Paises[id_opcion - 1].Pertenencia = 1;
                        Tablero.Jugador.Add(Tablero.Lista_Paises[id_opcion - 1].Id_Pais);
                        Tablero.IA.Remove(Tablero.Lista_Paises[id_opcion - 1].Id_Pais);
                    }
                    else
                    {
                        if (diferencia < 0)
                        {
                            Tablero.Lista_Paises[id_seleccionado - 1].Tropas -= tropasMovida;
                            Listbtn[id_seleccionado].Text = Tablero.Lista_Paises[id_seleccionado - 1].Tropas.ToString();
                            Tablero.Lista_Paises[id_opcion - 1].Tropas -= tropasMovida;
                            Listbtn[id_opcion].Text = Tablero.Lista_Paises[id_opcion - 1].Tropas.ToString();
                        }
                        else
                        {
                            Tablero.Lista_Paises[id_seleccionado - 1].Tropas -= tropasMovida;
                            Listbtn[id_seleccionado].Text = Tablero.Lista_Paises[id_seleccionado - 1].Tropas.ToString();
                            if (diferencia == 0)
                            {
                                Tablero.Lista_Paises[id_opcion - 1].Tropas -= tropasMovida;
                            }
                            else if (Tablero.Lista_Paises[id_opcion - 1].Pertenencia == 2 && Tablero.Lista_Paises[id_seleccionado - 1].Tropas >= 0)
                            {
                                Listbtn[id_opcion].BackColor = System.Drawing.Color.Green;
                                int aux = tropasMovida - Tablero.Lista_Paises[id_opcion - 1].Tropas;
                                Tablero.Lista_Paises[id_opcion - 1].Tropas      = aux;
                                Tablero.Lista_Paises[id_opcion - 1].Pertenencia = 1;
                                Tablero.Jugador.Add(Tablero.Lista_Paises[id_opcion - 1].Id_Pais);
                                Tablero.IA.Remove(Tablero.Lista_Paises[id_opcion - 1].Id_Pais);
                            }
                            else if (Tablero.Lista_Paises[id_opcion - 1].Pertenencia == 3)
                            {
                                Listbtn[id_opcion].BackColor = System.Drawing.Color.Green;
                                Tablero.Lista_Paises[id_opcion - 1].Tropas     += tropasMovida;
                                Tablero.Lista_Paises[id_opcion - 1].Pertenencia = 1;
                                Tablero.Jugador.Add(Tablero.Lista_Paises[id_opcion - 1].Id_Pais);
                                Tablero.IA.Remove(Tablero.Lista_Paises[id_opcion - 1].Id_Pais);
                            }
                            else
                            {
                                Tablero.Lista_Paises[id_opcion - 1].Tropas += tropasMovida;
                            }
                            Listbtn[id_opcion].Text = (Tablero.Lista_Paises[id_opcion - 1].Tropas).ToString();
                        }
                    }
                }
                else if (fase == 3)
                {
                    diferencia = tropasMovida - Tablero.Lista_Paises[id_opcion - 1].Tropas;
                    if (diferencia >= 1)
                    {
                        Listbtn[id_opcion].BackColor = System.Drawing.Color.Green;


                        Tablero.Lista_Paises[id_seleccionado - 1].Tropas -= tropasMovida;
                        Listbtn[id_seleccionado].Text = Tablero.Lista_Paises[id_seleccionado - 1].Tropas.ToString();
                        if (Tablero.Lista_Paises[id_opcion - 1].Pertenencia == 2)
                        {
                            Tablero.Lista_Paises[id_opcion - 1].Tropas = diferencia;
                        }
                        else
                        {
                            if (tropasMovida == 2 & Tablero.Lista_Paises[id_opcion - 1].Tropas == 1)
                            {
                                Tablero.Lista_Paises[id_opcion - 1].Tropas += diferencia + 1;
                            }
                            else
                            {
                                Tablero.Lista_Paises[id_opcion - 1].Tropas += diferencia;
                            }
                        }
                        Listbtn[id_opcion].Text = Tablero.Lista_Paises[id_opcion - 1].Tropas.ToString();
                        Tablero.Lista_Paises[id_opcion - 1].Pertenencia = 1;
                    }
                    else
                    {
                        if (diferencia < 0)
                        {
                            Tablero.Lista_Paises[id_seleccionado - 1].Tropas -= tropasMovida;
                            Listbtn[id_seleccionado].Text = Tablero.Lista_Paises[id_seleccionado - 1].Tropas.ToString();
                            Tablero.Lista_Paises[id_opcion - 1].Tropas += tropasMovida;
                            Listbtn[id_opcion].Text = Tablero.Lista_Paises[id_opcion - 1].Tropas.ToString();
                        }
                        else
                        {
                            Tablero.Lista_Paises[id_seleccionado - 1].Tropas -= tropasMovida;
                            Listbtn[id_seleccionado].Text = Tablero.Lista_Paises[id_seleccionado - 1].Tropas.ToString();
                            if (diferencia == 0)
                            {
                                Tablero.Lista_Paises[id_opcion - 1].Tropas += tropasMovida;
                            }
                            else if (Tablero.Lista_Paises[id_opcion - 1].Pertenencia == 2 && Tablero.Lista_Paises[id_seleccionado - 1].Tropas >= 0)
                            {
                                Listbtn[id_opcion].BackColor = System.Drawing.Color.Green;
                                int aux = tropasMovida - Tablero.Lista_Paises[id_opcion - 1].Tropas;
                                Tablero.Lista_Paises[id_opcion - 1].Tropas = aux;
                            }
                            else
                            {
                                Tablero.Lista_Paises[id_opcion - 1].Tropas       += tropasMovida;
                                Tablero.Lista_Paises[id_seleccionado - 1].Tropas -= tropasMovida;
                            }
                            Listbtn[id_opcion].Text = (Tablero.Lista_Paises[id_opcion - 1].Tropas).ToString();
                        }
                    }
                }
                txtPaisSeleccionado.Clear();
                CB_vecinos.Items.Clear();
                nUDtropas.Value = 0;

                if (Tablero.Jugador.Count == 42)
                {
                    MessageBox.Show("Has ganado la partida.!!",
                                    "Partida Terminada", MessageBoxButtons.OK, MessageBoxIcon.Information);

                    if (ckBAutoTraining.Checked)
                    {
                        playerIA.AutoTraining();
                    }

                    FinishGame();
                }
            }
        }