// CONSTRUCTOR public Map(Param_Map parametre) { this.parametre = parametre; MapTexture = new Rectangle(0, 0, parametre.hauteur * 16, (parametre.largeur - 1) * 16); this.map_physique = new PhysicsEngine(parametre.liste, parametre.liste_projectile); this.liste_ia = new List<IA>(); if (parametre.texture_map == 3) { Player p1 = new Player(Keys.Up, Keys.Down, Keys.Left, Keys.Right, Keys.N, Keys.P, Keys.Enter, Keys.T, Ressources.Player1, parametre.x, parametre.y); Player p2 = new Player(Keys.Z, Keys.S, Keys.Q, Keys.D, Keys.A, Keys.E, Keys.R, Keys.W, Ressources.Player2, parametre.x, parametre.y); p1.bomb = 5; p2.bomb = 5; liste_joueurs.Add(p1); liste_joueurs.Add(p2); } else { this.liste_joueurs.Add(new Player(Keys.Up, Keys.Down, Keys.Left, Keys.Right, Keys.N, Keys.P, Keys.Enter, Keys.T, Ressources.Player1, parametre.x, parametre.y)); } //HEALTH + AMMO BOXES this.liste_box = new List<Items>(); this.liste_box2 = new List<Items>(); //EXPLOSIVE BOXES this.liste_barrel = new List<DestructibleItems>(); this.liste_barrel = parametre.liste_barrel; //EXPLOSION PARTICULE this.liste_explosions = new List<ParticuleExplosion>(); this.liste_explosions2 = new List<ParticuleExplosion>(); this.liste_explosions3 = new List<ParticuleExplosion>(); this.explosionTexture = Ressources.ExplosionParticule; //BLOOD PARTICULE this.liste_blood = new List<ParticuleExplosion>(); this.liste_blood2 = new List<ParticuleExplosion>(); //TURRETS this.liste_turret = new List<Turret>(); this.liste_turret2 = new List<Turret>(); //RAIN (que sur la map01) this.liste_rain = new List<ParticuleRain>(); this.rainTexture = Ressources.mRain; this.spawns = parametre.liste_spawn; this.spawn_items = parametre.liste_caisses; this.liste_clavier = new List<Keys>(); this.liste_clavier_2 = new List<Keys>(); fin_niveau = parametre.checkpointArrivee; boss_entry = parametre.checkpointBossEntry; //Client.initialisationClient(4242); //Serveur.intialisationServeur(1338); }
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; } }
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 }
public void action_hero(PhysicsEngine map_physique, List<IA> liste_ia, List<DestructibleItems> liste_barrel) { Rectangle rectangle_ = rectangle(); foreach (DestructibleItems barrel in liste_barrel) { if (barrel.Aire_barrel.Intersects(rectangle_) && barrel.type == "barrel") { this.actionjoueur = ""; } } this.maj_direction(this.actionjoueur); if (this.actionjoueur == "up" || this.actionjoueur == "down" || this.actionjoueur == "left" || this.actionjoueur == "right") { if (this.actionjoueur == "up") { if (!(map_physique.mur(this.futur_position_X_gauche(), this.futur_position_Y_haut())) && !(map_physique.mur(this.futur_position_X_droite(), this.futur_position_Y_haut())) && this.collision_entite_hero(liste_ia)) this.mise_a_jour(this.actionjoueur); this.actionjoueur = ""; } if (this.actionjoueur == "down") { if (!(map_physique.mur(this.futur_position_X_gauche(), this.futur_position_Y_bas())) && !(map_physique.mur(this.futur_position_X_droite(), this.futur_position_Y_bas())) && this.collision_entite_hero(liste_ia)) this.mise_a_jour(this.actionjoueur); this.actionjoueur = ""; } if (this.actionjoueur == "left") { if (!(map_physique.mur(this.futur_position_X_gauche(), this.futur_position_Y_haut())) && !(map_physique.mur(this.futur_position_X_gauche(), this.futur_position_Y_bas())) && this.collision_entite_hero(liste_ia)) this.mise_a_jour(this.actionjoueur); this.actionjoueur = ""; } if (this.actionjoueur == "right") { if (!(map_physique.mur(this.futur_position_X_droite(), this.futur_position_Y_haut())) && !(map_physique.mur(this.futur_position_X_droite(), this.futur_position_Y_bas())) && this.collision_entite_hero(liste_ia)) this.mise_a_jour(this.actionjoueur); this.actionjoueur = ""; } } this.actionjoueur = ""; //"Remet à zéros" les actions du joueurs }
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 }