public override Vector2? Move(GameMap gameMap, List<Fighter> fighters, List<Enemy> enemies) { if (moveStrategy != null && !isDying) return moveStrategy.Move(currentTime); return null; }
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); */ }
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; } } }
public abstract Vector2? Move(GameMap gameMap, List<Fighter> fighters, List<Enemy> enemies);
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); */ }
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>(); }
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); }