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: