Example #1
0
        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);
                }
            }
        }
Example #2
0
        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
                //
            }
        }