示例#1
0
 public void Shoot(int damage, Rectangle shootRect, ParticleEngine particleEngine)
 {
     foreach (EnemyObject enemyO in enemyList)
     {
         killBullet = enemyO.GetHit(damage, shootRect, game, particleEngine); //Får in bulletRect från Bullet och kollar varje enemyO ifall den träffar någon, har den här för det är här enemyList är
         if (killBullet)
         {
             break;
         }
     }
 }
示例#2
0
 public bool GetHit(int damage, Rectangle bulletRect, Game1 game, ParticleEngine particleEngine)
 {
     if (bulletRect.Intersects(enemyRectPos))
     {
         particleEngine.EmitterLocation = new Vector2(enemyRectPos.X, enemyRectPos.Y); //Ritar ut super duber Matrix effekter när en fiende blir träffad av ett skott, har det för att det är Krav
         hp -= damage;
         game.KillBullet();
         Console.WriteLine("HP: " + hp);
         return(true);
     }
     return(false);
 }
示例#3
0
文件: Game1.cs 项目: Fobian1/Grupp-30
        protected override void LoadContent()
        {
            spriteBatch = new SpriteBatch(GraphicsDevice);
            spriteSheet = Content.Load <Texture2D>("spriteSheet");
            spriteFont  = Content.Load <SpriteFont>("spriteFont");
            textures.Add(Content.Load <Texture2D>("explosion"));                          //har den seperat så att jag kan lägga in den i particleEngine (Ett krav att man skulle ha med en sådan)
            particleEngine = new ParticleEngine(textures, new Vector2(1000000, 1000000)); //Följ tutorian för detta, skrev bara rakt av från den och ändrade några värden på slutet
            towerM         = new TowerManager(spriteSheet);
            path           = new SimplePath(graphics.GraphicsDevice);
            path.Clean();                       //Spline sak, gör så att du inte har en spiral i mitten
            gameState     = GameState.MainMenu; //Tänkt att den skulle börja om när man var klar men spline gjorde så att jag inte kunde börja om... men att börja om var inte krav, bara att det skulle avslutas när x antal waves var klara eller hp <= 0
            HPText        = "HP: " + HP;
            coinsText     = "";
            activeSplineX = 75; //startvärdet, behövs ritas ut av någon anledning, man kan lösa detta med att i Spline ha roadRectList.Count <= 1 istället för roadRectList.Any() men orkade inte bry mig
            activeSplineY = 125;
            coins         = 100;
            HP            = 100;

            grassPosList = GetPos('-', currentLevel); //Ritar ut gräs på alla rutor som har värdet '-' kolla text filen för att se det
            foreach (Vector2 pos in grassPosList)
            {
                grassO = new GrassObject(spriteSheet, pos);
                gameList.Add(grassO);
            }

            roadPosList = GetPos('r', currentLevel);
            foreach (Vector2 pos in roadPosList)
            {
                roadO = new RoadObject(spriteSheet, pos);
                gameList.Add(roadO);
                roadRect = new Rectangle((int)pos.X + 25, (int)pos.Y + 25, 50, 50);
                roadRectList.Add(roadRect); //La in det i en seperat lista för att kunna ha det som en counter samt se till att ingen roadRect missades vid spline ritningen
            }

            towerHUDList = GetPos(' ', currentLevel);
            foreach (Vector2 pos in towerHUDList)
            {
                towerM.TowerHUD(pos);
            }
            Spline(); //Tar er till min spline algoritm!
            waveM = new WaveManager(spriteSheet, this, towerM);
        }