diff --git a/DangerousD/Content/map.tmx b/DangerousD/Content/map.tmx index 9afca4d..18bf11c 100644 --- a/DangerousD/Content/map.tmx +++ b/DangerousD/Content/map.tmx @@ -62,7 +62,7 @@ - + diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/CoreEnemy.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/CoreEnemy.cs index 38b1cc0..62923ba 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/CoreEnemy.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/CoreEnemy.cs @@ -13,7 +13,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities public abstract class CoreEnemy : LivingEntity { protected int monster_health; - protected int monster_speed; + protected float monster_speed; protected string name; protected bool isAlive = true; protected int leftBoarder = 0; @@ -45,5 +45,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities isAlive = false; } } + + public abstract void Target(); } } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FlameSkull.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FlameSkull.cs index c93b40a..7eb1ce4 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FlameSkull.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FlameSkull.cs @@ -18,7 +18,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters { Width = 62; Height = 40; - monster_speed = 3; + monster_speed = 0.25f; name = "Skull"; acceleration = Vector2.Zero; } @@ -63,19 +63,19 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters } velocity.X = -monster_speed; } - if (Pos.X >= rightBoarder) - { - isGoRight = false; - } - else if (Pos.X <= leftBoarder) - { - isGoRight = true; - } } public override void Attack(GameTime gameTime) { - throw new NotImplementedException(); + + } + + public override void Target() + { + if (true) + { + + } } } } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs index f164455..dc04ab5 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs @@ -74,9 +74,9 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters } - public void Target() + public override void Target() { - throw new NotImplementedException(); + } } } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs index 013ed10..0baad71 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs @@ -80,7 +80,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters velocity.Y -= monster_speed; } } - public void Target() + public override void Target() { throw new NotImplementedException(); } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Ghost.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Ghost.cs index 214a4c2..20d6161 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Ghost.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Ghost.cs @@ -83,7 +83,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters } - public void Target() + public override void Target() { throw new NotImplementedException(); } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs index 5db5359..b0fa2b0 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs @@ -129,9 +129,9 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters Debug.WriteLine("Collision"); } - public void Target() + public override void Target() { - throw new NotImplementedException(); + } } } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/HunchmanDagger.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/HunchmanDagger.cs index 740c360..3d1bc3a 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/HunchmanDagger.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/HunchmanDagger.cs @@ -42,9 +42,9 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters } - public void Target() + public override void Target() { - throw new NotImplementedException(); + } } } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs index 15018ea..51a0a5f 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs @@ -62,9 +62,9 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters } } - public void Target() + public override void Target() { - throw new NotImplementedException(); + } public override void Update(GameTime gameTime) diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs index 6b436b7..06a1d6e 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs @@ -111,9 +111,9 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters } } - public void Target() + public override void Target() { - throw new NotImplementedException(); + } public override void Update(GameTime gameTime) diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Slime.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Slime.cs index 0f9e9c9..9b59f62 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Slime.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Slime.cs @@ -232,7 +232,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters base.Update(gameTime); } - public void Target() + public override void Target() { } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Spider.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Spider.cs index a4963bf..bad39f5 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Spider.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Spider.cs @@ -19,10 +19,12 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters protected SpiderWeb web; protected float delay; protected int webLength; + protected int widthS; protected bool isDown; protected bool isDownUp; protected PhysicsManager physicsManager; protected Player player; + protected Vector2 oldPosition; public Spider(Vector2 position) : base(position) { @@ -30,10 +32,11 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters isDownUp = true; isDown = true; physicsManager = AppManager.Instance.GameManager.physicsManager; - web = new SpiderWeb(Pos); name = "Spider"; Width = 112; Height = 24; + widthS = Width; + web = new SpiderWeb(new Vector2(Pos.X+Width/2,Pos.Y)); delay = 0; webLength = 0; monster_speed = 3; @@ -45,7 +48,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters public override void Update(GameTime gameTime) { - if (!isAttack) + if (isAttack == false) { Move(gameTime); } @@ -68,12 +71,13 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters /// /// public override void Attack(GameTime gameTime) - { //48 72 - velocity.X = 0; - delay += (float)gameTime.ElapsedGameTime.TotalSeconds; + { if (isAttack) { - if (delay > 0.5 && webLength <= 4 && isDown) + velocity.X = 0; + delay += (float)gameTime.ElapsedGameTime.TotalSeconds; + + if (delay > 0.25 && webLength <= 4 && isDown) { Width = 48; Height = 72; @@ -104,22 +108,19 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters isDown = true; } } - var entitiesInter = physicsManager.CheckRectangle(new Rectangle((int)Pos.X, (int)Pos.Y, 200, 600)); - if (entitiesInter.Count > 0) + if (webLength == 0) { - foreach (var entity in entitiesInter) + isAttack = false; + } + var entities = physicsManager.CheckRectangle(new Rectangle((int)Pos.X, (int)Pos.Y, Width, Height + 200)); + foreach (var entity in entities) + { + if (webLength == 4 && entity is Player) { - if (entity.GetType() == typeof(Player)) - { - player.Death(name); - } + AppManager.Instance.GameManager.players[0].Death(name); } } } - if (webLength == 0) - { - isAttack = false; - } } public override void Draw(SpriteBatch spriteBatch) @@ -169,12 +170,24 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters } } - public void Target() + public override void Target() { if (player.Pos.X >= Pos.X && player.Pos.X <= Pos.X+Width) { isAttack = true; } } + + public override void OnCollision(GameObject gameObject) + { + if (gameObject is Player) + { + if (AppManager.Instance.GameManager.players[0].IsAlive) + { + Attack(); + } + } + base.OnCollision(gameObject); + } } } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SpiderWeb.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SpiderWeb.cs index c5971de..5d7b202 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SpiderWeb.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SpiderWeb.cs @@ -15,7 +15,6 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters public SpiderWeb(Vector2 position) : base(position) { name = "Web"; - monster_speed = 1; Width = 16; Height = 0; acceleration = Vector2.Zero; @@ -43,9 +42,9 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters } - public void Target() + public override void Target() { - throw new NotImplementedException(); + } } } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Werewolf.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Werewolf.cs index 837932f..846aefa 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Werewolf.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Werewolf.cs @@ -76,9 +76,9 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters { } - public void Target() + public override void Target() { - throw new NotImplementedException(); + } } } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs index 5a5711e..650a5ba 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs @@ -128,7 +128,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters base.OnCollision(gameObject); } - public void Target() + public override void Target() { if (AppManager.Instance.GameManager.physicsManager.CheckRectangle(new Rectangle((int)Pos.X - 50, (int)Pos.Y, Width + 100, Height), typeof(Player)).Count > 0) { diff --git a/DangerousD/GameCore/GameObjects/LivingEntity.cs b/DangerousD/GameCore/GameObjects/LivingEntity.cs index d311095..d945272 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntity.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntity.cs @@ -28,7 +28,10 @@ public abstract class LivingEntity : Entity //} base.Update(gameTime); } - + /// + /// + /// + /// public virtual void StartCicycleAnimation(string animationName) { if (GraphicsComponent.GetCurrentAnimation != animationName) diff --git a/DangerousD/GameCore/Managers/AppManager.cs b/DangerousD/GameCore/Managers/AppManager.cs index 33327c7..1d75e73 100644 --- a/DangerousD/GameCore/Managers/AppManager.cs +++ b/DangerousD/GameCore/Managers/AppManager.cs @@ -205,7 +205,7 @@ namespace DangerousD.GameCore case GameState.Lobby: break; case GameState.Game: - GameManager.mapManager.LoadLevel("lvl"); + GameManager.mapManager.LoadLevel("map"); GameManager.FindBorders(); break; case GameState.Death: