Пример #1
0
 public Acteur(Texture2D image, Vector2 position, float rotation, Vector2 limiteHautGauche, Vector2 limiteBasDroit, int pointsdeVie,
               float vitesse, int force, Acteur cible, Camp campAdverse, SpriteBatch batch, SpriteFont font) : base(image, position, batch, font)
 {
     this.rotation         = rotation;
     this.centrageDuPivot  = new Vector2(image.Width / 2, image.Height / 2);
     this.boiteCollision   = new BoundingBox(new Vector3(position.X - centrageDuPivot.X, position.Y - centrageDuPivot.Y, 0), new Vector3(position.X + centrageDuPivot.X, position.Y + centrageDuPivot.Y, 0));
     this.sphereCollision  = new BoundingSphere(new Vector3(position.X, position.Y, 0), centrageDuPivot.X);
     this.limiteHautGauche = limiteHautGauche + centrageDuPivot;
     this.limiteBasDroit   = limiteBasDroit - centrageDuPivot;
     this.pointsDeVie      = pointsdeVie;
     this.vitesse          = vitesse;
     this.force            = force;
     this.couleur          = Color.White;
     this.cible            = cible;
     this.CampAdverse      = campAdverse;
     prochaineAttaque      = rythmeAttaque;
     touche = false;
 }
Пример #2
0
 public Zombie(Texture2D image, Vector2 positionDepart, float rotation, Vector2 limiteHautGauche, Vector2 limiteBasDroite, int vie, float vitesse, int force, Acteur cible, Camp campAdverse, SpriteBatch batch, SpriteFont font) :
     base(image, positionDepart, rotation, limiteHautGauche, limiteBasDroite, vie, vitesse, force, cible, campAdverse, batch, font)
 {
     etat = new EtatNormal_Z(this);
 }
Пример #3
0
 public Coureur(Vector2 positionDepart, float rotation, Vector2 limiteHautGauche, Vector2 limiteBasDroite, Acteur cible, Camp campAdverse, SpriteBatch batch, SpriteFont font) :
     base(TEXTURE, positionDepart, rotation, limiteHautGauche, limiteBasDroite, VIE_MAX_COUREUR, VITESSE_COUREUR, FORCE_COUREUR, cible, campAdverse, batch, font)
 {
     rythmeAttaque  = RYTHME_ATTAQUE_COUREUR;
     TexteVie       = VIE_MAX_COUREUR + "/" + VIE_MAX_COUREUR;
     pointsDeVieMax = VIE_MAX_COUREUR;
     rayonDetection = RAYON_DETECTION_COUREUR;
     rayonAttaque   = RAYON_ATTAQUE_COUREUR;
 }
Пример #4
0
        /// <summary>
        /// LoadContent will be called once per game and is the place to load
        /// all of your content.
        /// </summary>
        protected override void LoadContent()
        {
            // Create a new SpriteBatch, which can be used to draw textures.
            spriteBatch = new SpriteBatch(GraphicsDevice);

            //Changement de la font, pour l'écriture
            mainFont = Content.Load <SpriteFont>("Fonts\\FontPrincipale");

            //Champ de bataille: le fond
            champDeBataille = new Objet2D(Content.Load <Texture2D>("Sprites\\background"), Vector2.Zero, spriteBatch, mainFont);

            //Une texture pour les deux zones de couvert
            Texture2D imageCouvert = Content.Load <Texture2D>("Sprites\\couvert");

            couverts[0] = new Objet2D(imageCouvert, new Vector2(LARGEUR_ECRAN - imageCouvert.Width - 450, 100), spriteBatch, mainFont);
            couverts[1] = new Objet2D(imageCouvert, new Vector2(LARGEUR_ECRAN - imageCouvert.Width - 450, HAUTEUR_ECRAN - imageCouvert.Height - 100), spriteBatch, mainFont);

            // Une texture pour les deux nids de sniper
            Texture2D imageNid = Content.Load <Texture2D>("Sprites\\nid_sniper");

            nidsSniper[0] = new Objet2D(imageNid, new Vector2(LARGEUR_ECRAN - imageNid.Width - 300, 150), spriteBatch, mainFont);
            nidsSniper[1] = new Objet2D(imageNid, new Vector2(LARGEUR_ECRAN - imageNid.Width - 300, HAUTEUR_ECRAN - imageNid.Height - 150), spriteBatch, mainFont);


            // Deux textures différentes pour les camps
            Texture2D imageCampZombies    = Content.Load <Texture2D>("Sprites\\lab");
            Texture2D imageCampSurvivants = Content.Load <Texture2D>("Sprites\\camp");

            campSurvivant = new Camp(imageCampSurvivants, new Vector2(LARGEUR_ECRAN - imageCampSurvivants.Width, HAUTEUR_ECRAN / 3), new Vector2(LARGEUR_ECRAN - imageCampSurvivants.Width - 20, HAUTEUR_ECRAN / 2), spriteBatch, mainFont);
            campZombie    = new Camp(imageCampZombies, new Vector2(0, HAUTEUR_ECRAN / 3f), new Vector2(imageCampZombies.Width + 20, HAUTEUR_ECRAN / 2), spriteBatch, mainFont);


            // Textures de toutes les sortes de personnages
            imageZombieCoureur = Content.Load <Texture2D>("Sprites\\coureur");
            Coureur.TEXTURE    = imageZombieCoureur;
            imageZombieTank    = Content.Load <Texture2D>("Sprites\\tank");
            Tank.TEXTURE       = imageZombieTank;
            imageSniper        = Content.Load <Texture2D>("Sprites\\survivor_rifle");
            Sniper.TEXTURE     = imageSniper;
            imageSoldat        = Content.Load <Texture2D>("Sprites\\soldat");
            Soldat.TEXTURE     = imageSoldat;
            imageEscrimeur     = Content.Load <Texture2D>("Sprites\\escrimeur");
            Escrimeur.TEXTURE  = imageEscrimeur;

            // Textures pour les boutons de l'interface
            Texture2D iconeSniper    = Content.Load <Texture2D>("Sprites\\icone_sniper");
            Texture2D iconeSoldat    = Content.Load <Texture2D>("Sprites\\icone_soldat");
            Texture2D iconeEscrimeur = Content.Load <Texture2D>("Sprites\\icone_escrimeur");

            boutons[0] = new Bouton(iconeSniper, new Vector2(campSurvivant.Position.X, campSurvivant.Position.Y - 60), Bouton.TypeBouton.Sniper);
            boutons[1] = new Bouton(iconeSoldat, new Vector2((float)(campSurvivant.Position.X + iconeSoldat.Width * 1.5f), campSurvivant.Position.Y - 60), Bouton.TypeBouton.Soldat);
            boutons[2] = new Bouton(iconeEscrimeur, new Vector2(campSurvivant.Position.X + iconeSoldat.Width * 3, campSurvivant.Position.Y - 60), Bouton.TypeBouton.Escrimeur);


            // Chargement des sons des personnages
            sonZombie           = Content.Load <SoundEffect>("Audio\\ZombieDeath");
            sonSurvivant        = Content.Load <SoundEffect>("Audio\\SurvivorDeath");
            Survivant.SonFusil  = Content.Load <SoundEffect>("Audio\\GunShot");
            Survivant.SonBlesse = Content.Load <SoundEffect>("Audio\\SurvivorHit");

            NbZombiesCampSurvivants   = 0;
            RayonDefenseCampSurvivant = 50;

            GenererPersonnagesDepart();
        }
Пример #5
0
 public static Zombie CreerZombie(typeZombie zombie, Vector2 positionDepart, float rotation, Vector2 limiteHautGauche, Vector2 limiteBasDroite, Acteur cible, Camp campAdverse, SpriteBatch batch, SpriteFont font)
 {
     if (zombie == typeZombie.Coureur)
     {
         return(new Coureur(positionDepart, rotation, limiteHautGauche, limiteBasDroite, cible, campAdverse, batch, font));
     }
     else
     {
         return(new Tank(positionDepart, rotation, limiteHautGauche, limiteBasDroite, cible, campAdverse, batch, font));
     }
 }
 public static Survivant CreerSurvivant(typeSurvivant type, Vector2 positionDepart, float rotation, Vector2 limiteHautGauche, Vector2 limiteBasDroite, Acteur cible, Camp campAdverse, SpriteBatch batch, SpriteFont font)
 {
     if (type == typeSurvivant.Sniper)
     {
         return(new Sniper(positionDepart, rotation, limiteHautGauche, limiteBasDroite, cible, campAdverse, batch, font));
     }
     else if (type == typeSurvivant.Escrimeur)
     {
         return(new Escrimeur(positionDepart, rotation, limiteHautGauche, limiteBasDroite, cible, campAdverse, batch, font));
     }
     else
     {
         return(new Soldat(positionDepart, rotation, limiteHautGauche, limiteBasDroite, cible, campAdverse, batch, font));
     }
 }
Пример #7
0
 public Sniper(Vector2 positionDepart, float rotation, Vector2 limiteHautGauche, Vector2 limiteBasDroite, Acteur cible, Camp campAdverse, SpriteBatch batch, SpriteFont font) :
     base(TEXTURE, positionDepart, rotation, limiteHautGauche, limiteBasDroite, VIE_MAX_SNIPER, VITESSE_SNIPER, FORCE_SNIPER, cible, campAdverse, batch, font)
 {
     rythmeAttaque       = RYTHME_ATTAQUE_SNIPER;
     rayonAttaque        = RAYON_ATTAQUE_SNIPER;
     rayonDetection      = rayonAttaque;
     PointsDeVieMax      = VIE_MAX_SNIPER;
     TexteVie            = VIE_MAX_SNIPER + "/" + VIE_MAX_SNIPER;
     this.positionDepart = positionDepart;
 }