Exemple #1
0
 public void collision_balle(PhysicsEngine map_physique)
 {
     if (!(map_physique.mur_projectile(this.futur_x(), this.futur_y())))
     {
         this.update_coordonne();
     }
     else
     {
         this.isVisible = false;
     }
 } //S'occupe de la collision des balles avec les murs
Exemple #2
0
 public void collision_balle(PhysicsEngine map_physique)
 {
     if (!(map_physique.mur_projectile(this.futur_x(), this.futur_y())))
     {
         this.update_coordonne();
     }
     else
     {
         this.isVisible = false;
     }
 }
Exemple #3
0
        public void action_ia(IA ia, Player joueur, List <DestructibleItems> liste_barrel, PhysicsEngine map_physique, List <IA> liste_ia, List <Player> liste_joueur)
        {
            foreach (DestructibleItems barrel in liste_barrel)
            {
                if (barrel.Aire_barrel.Intersects(ia.rectangle()) && barrel.type == "barrel")
                {
                    ia.actionIA = "";
                }
            }

            if (ia.actionIA == "up" || ia.actionIA == "down" || ia.actionIA == "left" || ia.actionIA == "right")
            {
                if (!ia.ia_vol)
                {
                    if (ia.actionIA == "up")
                    {
                        if (!(map_physique.mur(ia.futur_position_X_gauche(), ia.futur_position_Y_haut())) &&
                            !(map_physique.mur(ia.futur_position_X_droite(), ia.futur_position_Y_haut())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                        {
                            ia.mise_a_jour(ia.actionIA);
                        }
                        else
                        {
                            ia.actionIA = "";
                        }
                    }

                    if (ia.actionIA == "down")
                    {
                        if (!(map_physique.mur(ia.futur_position_X_gauche(), ia.futur_position_Y_bas())) &&
                            !(map_physique.mur(ia.futur_position_X_droite(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                        {
                            ia.mise_a_jour(ia.actionIA);
                        }
                        else
                        {
                            ia.actionIA = "";
                        }
                    }

                    if (ia.actionIA == "left")
                    {
                        if (!(map_physique.mur(ia.futur_position_X_gauche(), ia.futur_position_Y_haut())) &&
                            !(map_physique.mur(ia.futur_position_X_gauche(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                        {
                            ia.mise_a_jour(ia.actionIA);
                        }
                        else
                        {
                            ia.actionIA = "";
                        }
                    }

                    if (ia.actionIA == "right")
                    {
                        if (!(map_physique.mur(ia.futur_position_X_droite(), ia.futur_position_Y_haut())) &&
                            !(map_physique.mur(ia.futur_position_X_droite(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                        {
                            ia.mise_a_jour(ia.actionIA);
                        }
                        else
                        {
                            ia.actionIA = "";
                        }
                    }
                }
                else
                {
                    if (ia.actionIA == "up")
                    {
                        if (!(map_physique.mur_projectile(ia.futur_position_X_gauche(), ia.futur_position_Y_haut())) &&
                            !(map_physique.mur_projectile(ia.futur_position_X_droite(), ia.futur_position_Y_haut())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                        {
                            ia.mise_a_jour(ia.actionIA);
                        }
                        else
                        {
                            ia.actionIA = "";
                        }
                    }

                    if (ia.actionIA == "down")
                    {
                        if (!(map_physique.mur_projectile(ia.futur_position_X_gauche(), ia.futur_position_Y_bas())) &&
                            !(map_physique.mur_projectile(ia.futur_position_X_droite(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                        {
                            ia.mise_a_jour(ia.actionIA);
                        }
                        else
                        {
                            ia.actionIA = "";
                        }
                    }

                    if (ia.actionIA == "left")
                    {
                        if (!(map_physique.mur_projectile(ia.futur_position_X_gauche(), ia.futur_position_Y_haut())) &&
                            !(map_physique.mur_projectile(ia.futur_position_X_gauche(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                        {
                            ia.mise_a_jour(ia.actionIA);
                        }
                        else
                        {
                            ia.actionIA = "";
                        }
                    }

                    if (ia.actionIA == "right")
                    {
                        if (!(map_physique.mur_projectile(ia.futur_position_X_droite(), ia.futur_position_Y_haut())) &&
                            !(map_physique.mur_projectile(ia.futur_position_X_droite(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                        {
                            ia.mise_a_jour(ia.actionIA);
                        }
                        else
                        {
                            ia.actionIA = "";
                        }
                    }
                }
            }

            ia.actionIA = ""; //"Remet à zéros" les actions de l'IA
        }
Exemple #4
0
        public void action_ia(IA ia, Player joueur, List<DestructibleItems> liste_barrel, PhysicsEngine map_physique, List<IA> liste_ia, List<Player> liste_joueur)
        {
            foreach (DestructibleItems barrel in liste_barrel)
            {
                if (barrel.Aire_barrel.Intersects(ia.rectangle()) && barrel.type == "barrel")
                {
                    ia.actionIA = "";
                }
            }

            if (ia.actionIA == "up" || ia.actionIA == "down" || ia.actionIA == "left" || ia.actionIA == "right")
            {
                if (!ia.ia_vol)
                {
                    if (ia.actionIA == "up")
                    {
                        if (!(map_physique.mur(ia.futur_position_X_gauche(), ia.futur_position_Y_haut()))
                         && !(map_physique.mur(ia.futur_position_X_droite(), ia.futur_position_Y_haut())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                            ia.mise_a_jour(ia.actionIA);
                        else
                            ia.actionIA = "";
                    }

                    if (ia.actionIA == "down")
                    {
                        if (!(map_physique.mur(ia.futur_position_X_gauche(), ia.futur_position_Y_bas()))
                         && !(map_physique.mur(ia.futur_position_X_droite(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                            ia.mise_a_jour(ia.actionIA);
                        else
                            ia.actionIA = "";
                    }

                    if (ia.actionIA == "left")
                    {
                        if (!(map_physique.mur(ia.futur_position_X_gauche(), ia.futur_position_Y_haut()))
                         && !(map_physique.mur(ia.futur_position_X_gauche(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                            ia.mise_a_jour(ia.actionIA);
                        else
                            ia.actionIA = "";
                    }

                    if (ia.actionIA == "right")
                    {
                        if (!(map_physique.mur(ia.futur_position_X_droite(), ia.futur_position_Y_haut()))
                         && !(map_physique.mur(ia.futur_position_X_droite(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                            ia.mise_a_jour(ia.actionIA);
                        else
                            ia.actionIA = "";
                    }
                }
                else
                {
                    if (ia.actionIA == "up")
                    {
                        if (!(map_physique.mur_projectile(ia.futur_position_X_gauche(), ia.futur_position_Y_haut()))
                         && !(map_physique.mur_projectile(ia.futur_position_X_droite(), ia.futur_position_Y_haut())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                            ia.mise_a_jour(ia.actionIA);
                        else
                            ia.actionIA = "";
                    }

                    if (ia.actionIA == "down")
                    {
                        if (!(map_physique.mur_projectile(ia.futur_position_X_gauche(), ia.futur_position_Y_bas()))
                         && !(map_physique.mur_projectile(ia.futur_position_X_droite(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                            ia.mise_a_jour(ia.actionIA);
                        else
                            ia.actionIA = "";
                    }

                    if (ia.actionIA == "left")
                    {
                        if (!(map_physique.mur_projectile(ia.futur_position_X_gauche(), ia.futur_position_Y_haut()))
                         && !(map_physique.mur_projectile(ia.futur_position_X_gauche(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                            ia.mise_a_jour(ia.actionIA);
                        else
                            ia.actionIA = "";

                    }

                    if (ia.actionIA == "right")
                    {
                        if (!(map_physique.mur_projectile(ia.futur_position_X_droite(), ia.futur_position_Y_haut()))
                         && !(map_physique.mur_projectile(ia.futur_position_X_droite(), ia.futur_position_Y_bas())) && collision_entite_ia(ia, liste_ia, liste_joueur))
                            ia.mise_a_jour(ia.actionIA);
                        else
                            ia.actionIA = "";
                    }
                }
            }

            ia.actionIA = ""; //"Remet à zéros" les actions de l'IA
        }