private void timer1_Tick(object sender, EventArgs e) { //var aux = playerIA.Assignments.Count(); int country = 0; if (lblAsignamiento.Text == "Asignación") { if (contador == 0) { playerIA.Assignment(); auxtimer = playerIA.Assignments.Count(); } if (contador < auxtimer) { country = playerIA.Assignments.Dequeue(); RefreshCountries(Tablero.Lista_Paises[country - 1].Id_Pais, Tablero.Lista_Paises[country - 1].Pertenencia, Tablero.Lista_Paises[country - 1].Tropas); //Si quieren.. debemos agregar un tiempo de retardo entre cambios contador++; } else { lblAsignamiento.Text = "Ataque"; AutoClosingMessageBox.Show("Inicia Fase de Ataque IA", "Ataque", 1200); //Calculate posibilities attacks playerIA.PredictAllAttacks(Tablero.IA); //Execute the best's attacks playerIA.Attack(Tablero.IA); contador = 0; //timer1.Enabled = true; ////Execute the best's attacks //playerIA.Attack(Tablero.IA); auxtimer = playerIA.Attacks.Count(); } } else if (lblAsignamiento.Text == "Ataque") { if (contador < auxtimer) { string countries = playerIA.Attacks.Dequeue(); int aux1 = int.Parse(countries.Split(';')[0]); RefreshCountries(Tablero.Lista_Paises[aux1 - 1].Id_Pais, Tablero.Lista_Paises[aux1 - 1].Pertenencia, Tablero.Lista_Paises[aux1 - 1].Tropas); //Tiempo de retardo entre cambios int aux2 = int.Parse(countries.Split(';')[1]); RefreshCountries(Tablero.Lista_Paises[aux2 - 1].Id_Pais, Tablero.Lista_Paises[aux2 - 1].Pertenencia, Tablero.Lista_Paises[aux2 - 1].Tropas); //Tiempo de retardo entre cambios contador++; if (Tablero.IA.Count == 42) { MessageBox.Show("Has perdido la partida.", "Partida Terminada", MessageBoxButtons.OK, MessageBoxIcon.Information); if (ckBAutoTraining.Checked) { playerIA.AutoTraining(); } timer1.Enabled = false; FinishGame(); } } else { lblAsignamiento.Text = "Reforzamiento"; AutoClosingMessageBox.Show("Inicia Fase de Reforzamiento IA", "Reforzamiento", 1200); playerIA.Reinforcement(); contador = 0; auxtimer = playerIA.Reinforcements.Count(); } } else if (lblAsignamiento.Text == "Reforzamiento") { if (contador < auxtimer) { string countries = playerIA.Reinforcements.Dequeue(); int aux1 = int.Parse(countries.Split(';')[0]); RefreshCountries(Tablero.Lista_Paises[aux1 - 1].Id_Pais, Tablero.Lista_Paises[aux1 - 1].Pertenencia, Tablero.Lista_Paises[aux1 - 1].Tropas); //Tiempo de retardo entre cambios int aux2 = int.Parse(countries.Split(';')[1]); if (aux2 < 42) { RefreshCountries(Tablero.Lista_Paises[aux2 - 1].Id_Pais, Tablero.Lista_Paises[aux2 - 1].Pertenencia, Tablero.Lista_Paises[aux2 - 1].Tropas); } //Tiempo de retardo entre cambios contador++; } else { lblAsignamiento.Text = "Asignación"; fase = 0; calcular_tropas(0); lbljugadorname.Text = Tablero.name; Btn_Empezar.Enabled = true; contador = 0; timer1.Enabled = false; lblASignar.Text = Tablero.tropaAsigamiento.ToString(); //Aviso de inicio del juego AutoClosingMessageBox.Show("Turno del jugador: " + Tablero.name, "Inicio de Turno", 2000); } } }
private void Btn_Empezar_Click(object sender, EventArgs e) { if (fase == 0) { fase = 1; panel1.Enabled = true; lblAsignamiento.Text = "Ataque"; btnBestMovement.Enabled = true; lblMovimiento.Visible = true; btnBestMovement.Visible = true; } else if (fase == 1) { fase = 3; panel1.Enabled = true; lblAsignamiento.Text = "Reforzamiento"; btnBestMovement.Enabled = false; //Limpia al pasar a otro movimiento //txtPaisSeleccionado.Text = string.Empty; //CB_vecinos.Items.Clear(); //CB_vecinos.Text = string.Empty; //nUDtropas.Value = 0; lblMovimiento.Visible = false; btnBestMovement.Visible = false; } else if (fase == 2) { fase = 0; panel1.Enabled = false; lblAsignamiento.Text = "Asignación"; btnBestMovement.Enabled = false; lblMovimiento.Visible = false; btnBestMovement.Visible = false; } else { /*Turno de la IA*/ AutoClosingMessageBox.Show("Turno de la IA", "Inicio de Turno", 2000); //Limpiar al pasar a otro movimiento txtPaisSeleccionado.Text = string.Empty; CB_vecinos.Items.Clear(); CB_vecinos.Text = string.Empty; nUDtropas.Value = 0; Btn_Empezar.Enabled = false; panel1.Enabled = false; //Ejecuta las acciones de la Inteligencia Artificial lbljugadorname.Text = "IA"; calcular_tropas(1); lblASignar.Text = Tablero.tropaAsigamiento.ToString(); lblAsignamiento.Text = "Asignación"; timer1.Enabled = true; /* Inicia jugada */ //PlayIA(); //Acción del boton que debe presionar al finalizar el turno // } }