/// <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(); } } }