Example #1
0
        public override Vector2? Move(GameMap gameMap, List<Fighter> fighters, List<Enemy> enemies)
        {
            if (moveStrategy != null && !isDying)
                return moveStrategy.Move(currentTime);

            return null;
        }
Example #2
0
        private void Level1()
        {
            GameMap = new GameMap(150, 150);

            MapTile        t1     = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
            MapTile        t2     = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 291, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
            MapTile        t3     = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 317, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
            MapObject      mo     = new MapObject();
            List <Vector2> punkty = new List <Vector2>();

            punkty.Add(new Vector2(-0.5f, 7));
            punkty.Add(new Vector2(24, 23));
            punkty.Add(new Vector2(48.5f, 7));
            punkty.Add(new Vector2(24, -2));

            mo.boundaries    = Boundaries.CreateFromPoints(punkty);
            mo.collectible   = false;
            mo.Source        = new Source(539, 0, 48, 47);
            mo.textureName   = @"Game\newtile";
            mo.throwableOver = true;
            mo.type          = new Bonus();
            mo.viewBlocking  = true;
            mo.origin        = new Vector2(0, 24);

            for (int i = 0; i < 20; i++)
            {
                for (int j = 0; j < 40; j++)
                {
                    GameMap[i + j / 2, 40 - 2 * i + j]     = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
                    GameMap[i + j / 2 + 1, 40 - 2 * i + j] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 291, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
                }
            }

            for (int i = 0; i < 42; i++)
            {
                GameMap[i / 2, 42 - i].mapObjects.Add(mo.Clone());
                GameMap[i / 2 + 20, 82 - i].mapObjects.Add(mo.Clone());
            }

            GameMap[20, 43].mapObjects.Add(mo.Clone());
            GameMap[21, 44].mapObjects.Add(mo.Clone());

            GameMap[20, 30].mapObjects.Add(mo.Clone());
            GameMap[1, 11].mapObjects.Add(mo.Clone());

            GameMap[4, 60] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
            GameMap[4, 60].mapObjects.Add(mo.Clone());

            for (int i = 0; i < 70; i++)
            {
                GameMap[7, i *5] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
            }


            GameMap[0, 0]  = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
            GameMap[1, 1]  = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
            GameMap[10, 2] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
            GameMap[10, 3] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
            GameMap[13, 2] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());
            GameMap[13, 3] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List <MapObject>());


            GameMap.Load(content);

            /*
             * GameMap = new GameMap(50, 100);
             *
             * for (int i = 0; i < 50; i++)
             *  for (int j = 0; j < 100; j++)
             *      GameMap.mapTiles[i][j] = new MapTile(new BackgroundSprite(@"Game\texture", new Rectangle(152, 379, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
             *
             * GameMap.Load(content);
             *
             * MapObject mo = new MapObject();
             * List<Vector2> punkty = new List<Vector2>();
             * punkty.Add(new Vector2(1, 6));
             * punkty.Add(new Vector2(4, 13));
             * punkty.Add(new Vector2(8, 13));
             * punkty.Add(new Vector2(25, 0));
             * mo.boundaries = Boundaries.CreateFromPoints(punkty);
             * mo.collectible = false;
             * mo.Source = new Source(372, 429, 30, 38);
             * mo.textureName = @"Game\texture";
             * mo.throwableOver = true;
             * mo.type = new Bonus();
             * mo.viewBlocking = true;
             * mo.origin = new Vector2(0, 24);
             * mo.Load(content);
             *
             * for (int i = 0; i < 50; i++)
             *  GameMap.mapTiles[i][10].mapObjects.Add(mo);
             *
             * mo = new MapObject();
             * punkty.Clear();
             * punkty.Add(new Vector2(40, 13));
             * punkty.Add(new Vector2(43, 13));
             * punkty.Add(new Vector2(46, 6));
             * punkty.Add(new Vector2(25, 0));
             * //punkty.Add(new Vector2(18, 2));
             * mo.boundaries = Boundaries.CreateFromPoints(punkty);
             * mo.collectible = false;
             * mo.Source = new Source(403, 429, 30, 38);
             * mo.textureName = @"Game\texture";
             * mo.throwableOver = true;
             * mo.type = new Bonus();
             * mo.viewBlocking = true;
             * mo.origin = new Vector2(-18, 24);
             * mo.Load(content);
             *
             *
             * for (int i = 0; i < 50; i++)
             *  GameMap.mapTiles[i][10].mapObjects.Add(mo);
             */
        }
Example #3
0
        public void Notice(GameMap gameMap, List<Fighter> fighters, List<Enemy> enemies)
        {
            foreach (var f in fighters)
            {
                if (!f.IsAlive) continue;

                List<Vector2> points = new List<Vector2>();
                points.Add(Vector2.Zero);
                Vector2 v = new Vector2(f.position.X - position.X, f.position.Y - position.Y);
                if (v != Vector2.Zero)
                    v.Normalize();
                points.Add(new Vector2(20*v.X,20*v.Y));
                boundaries = Boundaries.CreateFromPoints(points);

                Vector2 current = new Vector2(position.X, position.Y);
                bool intersects = false;
                int i = 0, j = 0;
                while (!current.Similar(f.position, 5) && i>= 0 && j>=0)
                {
                    i = (int)current.GetMapPosition(gameMap).X;
                    j = (int)current.GetMapPosition(gameMap).Y;

                    foreach (var mo in gameMap[i,j].mapObjects)
                        if (mo.boundaries.Intersects(boundaries + current))
                            intersects = true;

                    if (intersects)
                        break;

                    current += v * 5;
                }

                if (!intersects)
                {
                    aware = true;
                    this.moveStrategy = new PathFind(gameMap, fighters, enemies, this, f);
                    target = f;
                    break;
                }

            }
        }
Example #4
0
 public abstract Vector2? Move(GameMap gameMap, List<Fighter> fighters, List<Enemy> enemies);
Example #5
0
        private void Level1()
        {
            GameMap = new GameMap(150, 150);

            MapTile t1 = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
            MapTile t2 = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 291, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
            MapTile t3 = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 317, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
            MapObject mo = new MapObject();
            List<Vector2> punkty = new List<Vector2>();
            punkty.Add(new Vector2(-0.5f, 7));
            punkty.Add(new Vector2(24, 23));
            punkty.Add(new Vector2(48.5f, 7));
            punkty.Add(new Vector2(24, -2));

            mo.boundaries = Boundaries.CreateFromPoints(punkty);
            mo.collectible = false;
            mo.Source = new Source(539, 0, 48, 47);
            mo.textureName = @"Game\newtile";
            mo.throwableOver = true;
            mo.type = new Bonus();
            mo.viewBlocking = true;
            mo.origin = new Vector2(0, 24);

            for (int i = 0; i < 20; i++)
            {
                for (int j = 0; j < 40; j++)
                {
                    GameMap[i + j / 2, 40 - 2 * i + j] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
                    GameMap[i + j / 2 + 1, 40 - 2 * i + j] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 291, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
                }
            }

            for (int i = 0; i < 42; i++)
            {
                GameMap[i / 2, 42 - i].mapObjects.Add(mo.Clone());
                GameMap[i / 2 + 20, 82 - i].mapObjects.Add(mo.Clone());
            }

            GameMap[20, 43].mapObjects.Add(mo.Clone());
            GameMap[21, 44].mapObjects.Add(mo.Clone());

            GameMap[20, 30].mapObjects.Add(mo.Clone());
            GameMap[1, 11].mapObjects.Add(mo.Clone());

            GameMap[4, 60] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
            GameMap[4, 60].mapObjects.Add(mo.Clone());

            for (int i = 0; i < 70; i++)
            {
                GameMap[7, i*5] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
            }

            GameMap[0, 0] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
            GameMap[1, 1] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
            GameMap[10, 2] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
            GameMap[10, 3] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
            GameMap[13, 2] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());
            GameMap[13, 3] = new MapTile(new BackgroundSprite(@"Game\fire1", new Rectangle(6, 267, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());

            GameMap.Load(content);

            /*
            GameMap = new GameMap(50, 100);

            for (int i = 0; i < 50; i++)
                for (int j = 0; j < 100; j++)
                    GameMap.mapTiles[i][j] = new MapTile(new BackgroundSprite(@"Game\texture", new Rectangle(152, 379, (int)GameMap.TileShift.X, (int)GameMap.TileShift.Y)), new List<MapObject>());

            GameMap.Load(content);

            MapObject mo = new MapObject();
            List<Vector2> punkty = new List<Vector2>();
            punkty.Add(new Vector2(1, 6));
            punkty.Add(new Vector2(4, 13));
            punkty.Add(new Vector2(8, 13));
            punkty.Add(new Vector2(25, 0));
            mo.boundaries = Boundaries.CreateFromPoints(punkty);
            mo.collectible = false;
            mo.Source = new Source(372, 429, 30, 38);
            mo.textureName = @"Game\texture";
            mo.throwableOver = true;
            mo.type = new Bonus();
            mo.viewBlocking = true;
            mo.origin = new Vector2(0, 24);
            mo.Load(content);

            for (int i = 0; i < 50; i++)
                GameMap.mapTiles[i][10].mapObjects.Add(mo);

            mo = new MapObject();
            punkty.Clear();
            punkty.Add(new Vector2(40, 13));
            punkty.Add(new Vector2(43, 13));
            punkty.Add(new Vector2(46, 6));
            punkty.Add(new Vector2(25, 0));
            //punkty.Add(new Vector2(18, 2));
            mo.boundaries = Boundaries.CreateFromPoints(punkty);
            mo.collectible = false;
            mo.Source = new Source(403, 429, 30, 38);
            mo.textureName = @"Game\texture";
            mo.throwableOver = true;
            mo.type = new Bonus();
            mo.viewBlocking = true;
            mo.origin = new Vector2(-18, 24);
            mo.Load(content);

            for (int i = 0; i < 50; i++)
                GameMap.mapTiles[i][10].mapObjects.Add(mo);
            */
        }
Example #6
0
        public void LoadMission(int missionId)
        {
            // TU EWENTUALNIE MOƻNA BY DODAC JAKIS KOD NA OKNO WCZYTYWANIA NOWEGO POZIOMU

            FileManager fileManager = new FileManager();
            GameManager newInstance = fileManager.Deserialize<GameManager>(@"Missions\Mission" + missionId);
            newInstance.GameMap.Load(content);
            foreach (Enemy e in newInstance.Enemies)
                e.Load(content);
            foreach (Fighter f in newInstance.Fighters)
                f.Load(content);

            MissionId = missionId;
            GameMap = newInstance.GameMap;
            Fighters = newInstance.Fighters;
            Enemies = newInstance.Enemies;
            Bonuses = newInstance.Bonuses;
            WeaponsArsenal = new List<DataItem<Weapon, int>>();
            Missiles = new List<Missile>();
        }
Example #7
0
 public void Move(Vector2 resolution, GameMap gameMap, List<Fighter> fighters, List<Enemy> enemies, InputState input)
 {
     if (playerControlled && !isDying)
         Destination = new Vector2(input.CurrentMouseState.X - GameInterface.Width - (resolution.X - GameInterface.Width) / 2 + camera.Pos.X, input.CurrentMouseState.Y - resolution.Y / 2 + camera.Pos.Y);
 }