Ejemplo n.º 1
0
        override public void Update(DwarfTime gameTime, ChunkManager chunks, Camera camera)
        {
            base.Update(gameTime, chunks, camera);

            if (World.Overworld.Difficulty == 0)
            {
                return;                                  // Disable enemy sensors on peaceful difficulty.
            }
            SenseTimer.Update(gameTime);

            if (SenseTimer.HasTriggered)
            {
                Enemies.Clear();
                try
                {
                    Sense();
                }
                catch (Exception e)
                {
                    Program.CaptureException(e);
                }
            }

            Enemies.RemoveAll(ai => ai.IsDead);
        }
Ejemplo n.º 2
0
        public override void Draw(SpriteBatch spriteBatch, Color color)
        {
            if (Enemies.Count > 0)
            {
                Enemies.Clear();
            }

            base.Draw(spriteBatch, color);

            foreach (var item in StartPoints.Values)
            {
                GameObjectUtilities.Draw(spriteBatch, color, startPointTexture, item.Bounds);
            }

            foreach (var item in Goals.Values)
            {
                GameObjectUtilities.Draw(spriteBatch, color, goalPointTexture, item.Bounds);
            }

            foreach (var item in EnemyStartPoints.Values)
            {
                GameObjectUtilities.Draw(spriteBatch, color, enemyStartPointTexture, item.Bounds);
                var enemy = _gameEntry.AvailableEnemies[item.EnemyName];

                GameObjectUtilities.Draw(spriteBatch, Color.LightGray, enemy.Texture, item.Bounds);
            }
        }
Ejemplo n.º 3
0
        public void LoadWorld(string levelName, Game1 game, bool clearMario = true)
        {
            var state = (game.Mario == null) ? null : game.Mario.State;

            game.LevelName = levelName;
            game.Map       = null;
            game.Mario     = null;
            Items.Clear();
            Enemies.Clear();
            Fireballs.Clear();
            Pipes.Clear();
            Background.Clear();
            Texts.Clear();
            MovingTexts.Clear();
            Achievements.Clear();
            Game1.Camera.Position = Vector2.Zero;
            LevelName             = levelName;
            string level = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + "\\Content\\Levels\\" + levelName + ".csv";

            new LevelLoader(game, level);
            if (!clearMario)
            {
                if (state.Name == "Big")
                {
                    game.Mario.ToBig();
                }
                else if (state.Name == "Fire")
                {
                    game.Mario.ToFire();
                }
            }
        }
        // Reloads the level and reinitializes Mario to his default state.
        public void Reset()
        {
            Enemies.Clear();
            Blocks.Clear();
            Pipes.Clear();
            Coins.Clear();
            Checkpoints.Clear();
            Flagpoles.Clear();
            levelData.Clear();

            InvisibleBarrier = new InvisibleBarrier(Vector2.Zero);
            CoinRoomPosition = Vector2.Zero;

            DynamicObjects.Clear();
            StaticObjects.Clear();

            PowerUpState = false;

            Mario.Instance.ResetPlayer();

            SoundManager.Instance.gameOverPlayOnce = true;

            levelData = ParseLevelCSV(fileName);
            BuildLevel(levelData);
        }
Ejemplo n.º 5
0
        public void StartBattle(IMobPack pack, Stat statBonus, bool doubleStatBonus)
        {
            CurrentMobPack     = pack;
            CurrentBattleState = BattleState.Idle;
            BattleLvl          = -1;
            IsBossFight        = pack.Strength >= MobPackStrength.Boss;
            Enemies.Clear();
            EnemyMinions.Clear();
            PlayerMinions.Clear();
            FrontRow         = _model.Party.FrontRow;
            EnemyDeathCount  = 0;
            PlayerDeathCount = 0;
            BattleLog.ClearLog();
            GenerateEnemies(pack);
            Character.StaticTimeToAction = GetAvgSPD();
            SetInitialSpeed(Enemies);
            SetInitialSpeed(FrontRow);

            SetupPassives(Enemies, true);
            SetupPassives(EnemyMinions, true, true);
            SetupPassives(FrontRow);
            SetupPassives(_model.Party.BackSeat);

            SetStatBonus(Enemies, statBonus, doubleStatBonus);
            SetStatBonus(FrontRow, statBonus, doubleStatBonus);
            SetStatBonus(EnemyMinions, statBonus, doubleStatBonus);
            SetStatBonus(_model.Party.BackSeat, statBonus, doubleStatBonus);
        }
Ejemplo n.º 6
0
        protected void FromWorldMap(Stream dat)
        {
            log.InfoFormat("Loading map for world {0}({1})...", Id, Name);

            Map        = new Wmap(Manager.GameData);
            entityInc  = 0;
            entityInc += Map.Load(dat, 0);

            int w = Map.Width, h = Map.Height;

            EnemiesCollision = new CollisionMap <Entity>(0, w, h);
            PlayersCollision = new CollisionMap <Entity>(1, w, h);
            PetsCollision    = new CollisionMap <Entity>(1, w, h);

            Projectiles.Clear();
            StaticObjects.Clear();
            Enemies.Clear();
            Players.Clear();
            Pets.Clear();
            foreach (Entity i in Map.InstantiateEntities(Manager))
            {
                EnterWorld(i);
            }
            CheckDisposable();
        }
Ejemplo n.º 7
0
        private void FromWorldMap(Stream dat)
        {
            var map = new Wmap(Manager.GameData);

            Map        = map;
            entityInc  = 0;
            entityInc += Map.Load(dat, 0);

            int w = Map.Width, h = Map.Height;

            Obstacles = new byte[w, h];
            for (var y = 0; y < h; y++)
            {
                for (var x = 0; x < w; x++)
                {
                    try
                    {
                        var        tile = Map[x, y];
                        ObjectDesc desc;
                        if (Manager.GameData.Tiles[tile.TileId].NoWalk)
                        {
                            Obstacles[x, y] = 3;
                        }
                        if (Manager.GameData.ObjectDescs.TryGetValue(tile.ObjType, out desc))
                        {
                            if (desc.Class == "Wall" ||
                                desc.Class == "ConnectedWall" ||
                                desc.Class == "CaveWall")
                            {
                                Obstacles[x, y] = 2;
                            }
                            else if (desc.OccupySquare || desc.EnemyOccupySquare)
                            {
                                Obstacles[x, y] = 1;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        Log.Error(ex);
                    }
                }
            }
            EnemiesCollision = new CollisionMap <Entity>(0, w, h);
            PlayersCollision = new CollisionMap <Entity>(1, w, h);

            Projectiles.Clear();
            StaticObjects.Clear();
            Enemies.Clear();
            Players.Clear();
            foreach (var i in Map.InstantiateEntities(Manager))
            {
                if (i.ObjectDesc != null &&
                    (i.ObjectDesc.OccupySquare || i.ObjectDesc.EnemyOccupySquare))
                {
                    Obstacles[(int)(i.X - 0.5), (int)(i.Y - 0.5)] = 2;
                }
                EnterWorld(i);
            }
        }
Ejemplo n.º 8
0
 public void RemoveEnemies()
 {
     foreach (Enemy e in Enemies)
     {
         e.Remove();
     }
     Enemies.Clear();
 }
Ejemplo n.º 9
0
 public void ClearAllEnemies()
 {
     foreach (var enemy in Enemies.Keys)
     {
         OnStoppedBeingLockedOnByEnemy(enemy);
     }
     Enemies.Clear();
 }
Ejemplo n.º 10
0
 public void RestartGame()
 {
     IsGameOver = false;
     Enemies.Clear();
     Score         = 0;
     ComboTimer    = 0f;
     ComboCount    = 0;
     EnemiesKilled = 0;
 }
Ejemplo n.º 11
0
 // Clear the lists of enemies and food
 public void BeginRound()
 {
     Enemies.Clear();
     Food.Clear();
     foreach (Ant ant in MyAnts.Values)
     {
         ant.Confirmed = false;
     }
 }
Ejemplo n.º 12
0
 public void Dispose()
 {
     Players.Clear();
     Enemies.Clear();
     Quests.Clear();
     Pets.Clear();
     Projectiles.Clear();
     StaticObjects.Clear();
     Timers.Clear();
 }
Ejemplo n.º 13
0
        public override void Exit()
        {
            WowInterface.HookManager.ClearTarget();
            WowInterface.MovementEngine.Reset();

            Enemies.Clear();

            // set our normal maxfps
            WowInterface.XMemory.Write(WowInterface.OffsetList.CvarMaxFps, Config.MaxFps);
        }
Ejemplo n.º 14
0
        protected void FromWorldMap(Stream dat)
        {
            log.InfoFormat("Loading map for world {0}({1})...", Id, Name);

            var map = new Wmap();

            Map        = map;
            entityInc  = 0;
            entityInc += Map.Load(dat, 0);

            int w = Map.Width, h = Map.Height;

            Obstacles = new byte[w, h];
            for (var y = 0; y < h; y++)
            {
                for (var x = 0; x < w; x++)
                {
                    var        tile = Map[x, y];
                    ObjectDesc desc;
                    if (XmlDatas.TileDescs[tile.TileId].NoWalk)
                    {
                        Obstacles[x, y] = 3;
                    }
                    if (XmlDatas.ObjectDescs.TryGetValue(tile.ObjType, out desc))
                    {
                        if (desc.Class == "Wall" ||
                            desc.Class == "ConnectedWall" ||
                            desc.Class == "CaveWall")
                        {
                            Obstacles[x, y] = 2;
                        }
                        else if (desc.OccupySquare || desc.EnemyOccupySquare)
                        {
                            Obstacles[x, y] = 3;
                        }
                    }
                }
            }
            EnemiesCollision = new CollisionMap <Entity>(0, w, h);
            PlayersCollision = new CollisionMap <Entity>(1, w, h);

            Projectiles.Clear();
            StaticObjects.Clear();
            Enemies.Clear();
            Players.Clear();
            foreach (var i in Map.InstantiateEntities(Manager))
            {
                if (i.ObjectDesc != null &&
                    (i.ObjectDesc.OccupySquare || i.ObjectDesc.EnemyOccupySquare))
                {
                    Obstacles[(int)(i.X - 0.5), (int)(i.Y - 0.5)] = 2;
                }
                EnterWorld(i);
            }
        }
Ejemplo n.º 15
0
 void LoadMap()
 {
     using (var stream = new System.IO.FileStream("./Content/Levels/Level_01.png", System.IO.FileMode.Open))
     {
         Map.Load(Texture2D.FromStream(Game.Graphics.GraphicsDevice, stream));
         Objects.Clear();
         Objects.AddRange(Map.GetObstacles());
         Enemies.Clear();
         Enemies.AddRange(Map.GetEnemies());
     }
 }
Ejemplo n.º 16
0
 public virtual void Dispose()
 {
     Players.Clear();
     Enemies.Clear();
     Quests.Clear();
     Projectiles.Clear();
     StaticObjects.Clear();
     Timers.Clear();
     EnemiesCollision = null;
     PlayersCollision = null;
 }
Ejemplo n.º 17
0
        protected void FromWorldMap(System.IO.Stream dat)
        {
            Wmap map = new Wmap();

            this.Map   = map;
            entityInc  = 0;
            entityInc += map.Load(dat, 0);

            int w = map.Width, h = map.Height;

            Obstacles = new byte[w, h];
            for (int y = 0; y < h; y++)
            {
                for (int x = 0; x < w; x++)
                {
                    var        tile = map[x, y];
                    ObjectDesc desc;
                    if (XmlDatas.TileDescs[tile.TileId].NoWalk)
                    {
                        Obstacles[x, y] = 3;
                    }
                    if (XmlDatas.ObjectDescs.TryGetValue(tile.ObjType, out desc))
                    {
                        if (desc.Class == "Wall" ||
                            desc.Class == "ConnectedWall" ||
                            desc.Class == "CaveWall")
                        {
                            Obstacles[x, y] = 2;
                        }
                        else if (desc.OccupySquare || desc.EnemyOccupySquare)
                        {
                            Obstacles[x, y] = 1;
                        }
                    }
                }
            }
            EnemiesCollision = new CollisionMap <Entity>(0, w, h);
            PlayersCollision = new CollisionMap <Entity>(1, w, h);

            Projectiles.Clear();
            StaticObjects.Clear();
            Enemies.Clear();
            Players.Clear();
            foreach (var i in map.InstantiateEntities())
            {
                if (i.ObjectDesc != null &&
                    (i.ObjectDesc.OccupySquare || i.ObjectDesc.EnemyOccupySquare))
                {
                    Obstacles[(int)(i.X - 0.5), (int)(i.Y - 0.5)] = 2;
                }
                EnterWorld(i);
            }
        }
Ejemplo n.º 18
0
 public void Reset()
 {
     NightId = 0;
     foreach (var unit in Enemies)
     {
         unit.HealthState.DealDamage(3000);
     }
     Enemies.Clear();
     PlayerState.HealthState.Reset();;
     PlayerState.InventoryState.Reset();
     PlayerState.CurrentWeapon.Reset();
 }
Ejemplo n.º 19
0
        private void InitializeGame()
        {
            InitializeSound();
            AddCountries();
            AddPlanets();
            Enemies.Clear();
            RandomizedEnemies.Clear();
            // Create same amount of enemy types, ten in total.
            // TODO: Maybe randomize so that it's not always the same amount of each type.

            var xDirection = true;
            var yDirection = true;

            for (var i = 0; i < 10; i++)
            {
                var lvl = random.Next(1, 3);
                if (i % 2 == 0)
                {
                    var   country = countries[random.Next(countries.Count() - 1)];
                    Enemy jet     = new JetFighter(lvl, random.Next(1, 3), country);
                    jet.MovingLeft = xDirection;
                    jet.MovingUp   = yDirection;
                    Enemies.Add(jet);
                }
                else
                {
                    var planet = planets[random.Next(planets.Count() - 1)];
                    var ufo    = new UFO(lvl, random.Next(1, 4), planet)
                    {
                        MovingLeft = !xDirection,
                        MovingUp   = !yDirection
                    };
                    Enemies.Add(ufo);
                }
                xDirection = !xDirection;
                yDirection = !yDirection;
            }

            RandomizedEnemies = UnsortEnemies(Enemies);
            PlayField.Children.Clear();
            foreach (var enemy in RandomizedEnemies)
            {
                //var rndY = random.Next((int)(PlayField.Height - enemy.Rectangle.Height));
                //var rndX = random.Next((int)(PlayField.Width - enemy.Rectangle.Width));

                Canvas.SetTop(enemy.Rectangle, random.Next((int)(PlayField.Height - enemy.Rectangle.Height)));
                Canvas.SetLeft(enemy.Rectangle, random.Next((int)(PlayField.Width - enemy.Rectangle.Width)));
                PlayField.Children.Add(enemy.Rectangle);
            }
            StartTiming();
        }
Ejemplo n.º 20
0
        public List <string> WolfFight()
        {
            List <string> fight  = new List <string>();
            Character     enemy  = Enemies[0];
            Actions       action = this;

            PassageDice(out int dice, out int heroPassage);

            fight.Add(String.Format("Вы обороняете: {0} / 2 = {1}, это {2}",
                                    Game.Dice.Symbol(dice), heroPassage, Constants.GetPassageName()[heroPassage]));

            fight.Add(String.Empty);

            int woulfCount = 0;

            for (int wolf = 1; wolf <= 8; wolf++)
            {
                PassageDice(out int wolfDice, out int wolfPassage);

                fight.Add(String.Format("{0} волк: {1} / 2 = {2}, ломится через {3}",
                                        wolf, Game.Dice.Symbol(wolfDice), wolfPassage, Constants.GetPassageName()[wolfPassage]));

                if (heroPassage == wolfPassage)
                {
                    woulfCount += 1;
                }
            }

            fight.Add(String.Empty);

            if (woulfCount <= 0)
            {
                fight.Add("GOOD|BIG|Вам повезло: всю работу за вас сделали товарищи :)");
                return(fight);
            }
            else
            {
                fight.Add(String.Format("BOLD|Вам предстоит сразиться с волками в количестве: {0}", woulfCount));
            }

            fight.Add(String.Empty);

            Enemies.Clear();

            Paragraphs.EnemyMultiplier(woulfCount, ref action, enemy);

            fight.AddRange(Fight());

            return(fight);
        }
Ejemplo n.º 21
0
        private void ClearEnemiesList()
        {
            if (Enemies == null)
            {
                Enemies = new List <EnemyView>();
                return;
            }

            foreach (var enemy in Enemies)
            {
                enemy.Destroy();
            }
            Enemies.Clear();
        }
Ejemplo n.º 22
0
        //does the user want to play again
        public void PlayAgain()
        {
            Console.WriteLine("Time to save another city! Y/N");
            string continueGame = Console.ReadLine().ToUpper();

            switch (continueGame)
            {
            //play again
            case "Y":

                //reset kill counts
                previousKillCount = 0;
                killCount         = 0;
                //if the users HP is 0 because of loss
                if (Players[0].HP <= 0)
                {
                    //reset player hp
                    Players[0].HP = 100;
                }
                //clear enemy list so dead enemies are not included when new list is generated
                Enemies.Clear();

                //count levels
                levelCounter++;
                //generate new enemy list per level
                for (int i = 0; i < levelCounter; i++)
                {
                    Enemies.Add(new Enemy(string.Format("Replicant {0}", i), 50, 0));
                }

                break;

            //don't play again
            case "N":
                Console.WriteLine("The end of the world was inevitable. ");
                Console.ReadKey();
                keepPlaying = false;
                GameOverAnimation();
                break;

            default:
                DisplayCombatInfo();
                Console.WriteLine("Please select either Y or N");
                break;
            }
        }
Ejemplo n.º 23
0
    public void UpdateLists()
    {
        Friends.Clear();
        Enemies.Clear();

        if (Players.GetItems() != null)
            foreach (GameObject p in Players.Items)
            {
                if (p.GetComponent<Cell>().GetTeam() == gameObject.GetComponent<Cell>().GetTeam())
                {
                    Friends.Add(p);
                }
                if (p.GetComponent<Cell>().GetTeam() != gameObject.GetComponent<Cell>().GetTeam())
                {
                    Enemies.Add(p);
                }
            }

    }
        public void Dispose()
        {
            if (Loaded)
            {
                Fields.ForEach(field => field.Dispose());
                Fields.Clear();

                Enemies.ToList().ForEach(enemy => enemy?.Dispose());
                Enemies.Clear();

                RegionBorder?.Dispose();
                Player?.Dispose();

                Player       = null;
                Activity     = null;
                RegionBorder = null;
                MessageBus.Instance.Unregister(MessageType.PawnDeath, OnPawnDeath);
            }
        }
Ejemplo n.º 25
0
        private void InitMap()
        {
            int w = Map.Width, h = Map.Height;

            EnemiesCollision = new CollisionMap <Entity>(0, w, h);
            PlayersCollision = new CollisionMap <Entity>(1, w, h);

            Projectiles.Clear();
            StaticObjects.Clear();
            Enemies.Clear();
            Players.Clear();
            Quests.Clear();
            Timers.Clear();

            foreach (var i in Map.InstantiateEntities(Manager))
            {
                EnterWorld(i);
            }
        }
Ejemplo n.º 26
0
    public void Initialize()
    {
        PlayerScores = 0;
        Enemies.ForEach(x => x.Dispose());
        Enemies.Clear();

        for (int i = 0; i < MaxEnemies; i++)
        {
            Enemies.Add(new Enemy());
        }

        GetScores();

        print(PlayerScores);
        for (int i = 0; i < Enemies.Count; i++)
        {
            print(Enemies[i].Scores);
        }
    }
Ejemplo n.º 27
0
    // Game Play Objects

    private void InitialiseGameObjectsRef()
    {
        // To ensure player and enemies are being reset for each level when progressing from level to another
        Player = null;
        Enemies.Clear();

        // Setting Up the Player
        if (GameObject.FindGameObjectWithTag("Player") != null)
        {
            SetPlayer(GameObject.FindGameObjectWithTag("Player"));
        }

        Player.transform.position = playerStartingPos;

        // Setting Up the Enemies
        foreach (GameObject enemyGo in GameObject.FindGameObjectsWithTag("Enemy"))
        {
            Enemies.Add(enemyGo);
        }
    }
Ejemplo n.º 28
0
        private void resetDefaults()
        {
            if (Enemies != null)
            {
                Enemies.Clear();
                Enemies = null;
            }
            if (Distances != null)
            {
                Distances.Clear();
                Distances = null;
            }

            VariableName  = null;
            VariableValue = 0;

            ExperienceAmount = 0;

            ItemToGet = null;
            //TODO
        }
Ejemplo n.º 29
0
        public void NewLevel(Random random)
        {
            Level++;
            if (Level != 1)
            {
                MessageBox.Show($"레벨업!! : {Level} 랩");
            }
            Enemies.Clear();
            WeaponsInRoom.Clear();

            AddEnemyInRoom(random);
            AddWeaponInRoom(random);

            if (Level == 8)
            {
                if (MessageBox.Show("축하합니다. 만랩이 되었어요! 게임을 종료합니다") == DialogResult.OK)
                {
                    Application.Exit();
                }
            }
        }
Ejemplo n.º 30
0
        private void UpdateCharacter()
        {
            if (Character.Health <= 0)
            {
                State = GameState.ShowingDeathMessage;
                Creatures.Clear();
                Enemies.Clear();

                return;
            }

            for (int i = 0; i < Character.Bullets.Count; i++)
            {
                var bullet = Character.Bullets[i];
                if (bullet.X >= RenderWidth)
                {
                    Character.Bullets.Remove(bullet);
                }
                else
                {
                    bullet.PreciseX += bullet.Speed * FrameTime.TotalSeconds;
                }

                for (int j = 0; j < Enemies.Count; j++)
                {
                    var enemy = Enemies[j];
                    if (enemy.IsEntityInBounds(bullet.X, bullet.Y))
                    {
                        enemy.Health -= bullet.Damage;
                        Character.Bullets.Remove(bullet);
                        Creatures.Remove(bullet);

                        if (enemy.Health <= 0)
                        {
                            KillEnemy((Enemy)enemy);
                        }
                    }
                }
            }
        }