Merge branch 'SilasMaster'
This commit is contained in:
commit
dd6728967f
6 changed files with 198 additions and 29 deletions
162
DangerousD/Content/boss.tmx
Normal file
162
DangerousD/Content/boss.tmx
Normal file
|
@ -0,0 +1,162 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<map version="1.10" tiledversion="1.10.2" orientation="orthogonal" renderorder="right-down" width="200" height="200" tilewidth="16" tileheight="16" infinite="1" nextlayerid="4" nextobjectid="3">
|
||||||
|
<tileset firstgid="1" source="../../../../../Desktop/DangerousD map/map.tsx"/>
|
||||||
|
<layer id="1" name="Слой тайлов 1" class="StopTile" width="200" height="200">
|
||||||
|
<data encoding="csv">
|
||||||
|
<chunk x="-16" y="-32" width="16" height="16">
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,799,799,799,799,799,799,799,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0
|
||||||
|
</chunk>
|
||||||
|
<chunk x="0" y="-32" width="16" height="16">
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
799,799,799,799,799,799,799,799,799,799,799,799,799,799,799,799,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
</chunk>
|
||||||
|
<chunk x="16" y="-32" width="16" height="16">
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
799,799,799,799,799,799,799,799,799,799,799,799,799,799,799,799,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0
|
||||||
|
</chunk>
|
||||||
|
<chunk x="32" y="-32" width="16" height="16">
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
799,799,799,799,799,799,799,799,799,799,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0
|
||||||
|
</chunk>
|
||||||
|
<chunk x="-16" y="-16" width="16" height="16">
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,799,799,799,799,799,799,799,799
|
||||||
|
</chunk>
|
||||||
|
<chunk x="0" y="-16" width="16" height="16">
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
799,799,799,799,799,799,799,799,799,799,799,799,799,799,799,799
|
||||||
|
</chunk>
|
||||||
|
<chunk x="16" y="-16" width="16" height="16">
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
|
799,799,799,799,799,799,799,799,799,799,799,799,799,799,799,799
|
||||||
|
</chunk>
|
||||||
|
<chunk x="32" y="-16" width="16" height="16">
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
0,0,0,0,0,0,0,0,0,0,799,0,0,0,0,0,
|
||||||
|
799,799,799,799,799,799,799,799,799,799,799,0,0,0,0,0
|
||||||
|
</chunk>
|
||||||
|
</data>
|
||||||
|
</layer>
|
||||||
|
<objectgroup id="2" name="Слой объектов 1" class="LivingEntities">
|
||||||
|
<object id="1" name="DEBUGUS" type="Player" x="293.333" y="-126.667">
|
||||||
|
<point/>
|
||||||
|
</object>
|
||||||
|
</objectgroup>
|
||||||
|
<objectgroup id="3" name="Слой объектов 2" class="LivingEntities.Monsters">
|
||||||
|
<object id="2" type="SilasMaster" x="82.6667" y="-186.667">
|
||||||
|
<point/>
|
||||||
|
</object>
|
||||||
|
</objectgroup>
|
||||||
|
</map>
|
|
@ -12,20 +12,22 @@ namespace DangerousD.GameCore.GameObjects.Entities
|
||||||
{
|
{
|
||||||
public class SilasBall : LivingEntity
|
public class SilasBall : LivingEntity
|
||||||
{
|
{
|
||||||
private bool IsVisibility=true;
|
|
||||||
|
private Vector2 v;
|
||||||
public SilasBall(Vector2 position) : base(position)
|
public SilasBall(Vector2 position) : base(position)
|
||||||
{
|
{
|
||||||
Height = 60;
|
Height = 24;
|
||||||
Width = 60;
|
Width = 24;
|
||||||
acceleration = Vector2.Zero;
|
acceleration = Vector2.Zero;
|
||||||
|
|
||||||
}
|
}
|
||||||
public SilasBall(Vector2 position, Vector2 velosity) : base(position)
|
public SilasBall(Vector2 position, Vector2 velosity) : base(position)
|
||||||
{
|
{
|
||||||
Height = 60;
|
Height = 24;
|
||||||
Width = 60;
|
Width = 24;
|
||||||
acceleration = Vector2.Zero;
|
acceleration = Vector2.Zero;
|
||||||
velocity = velosity;
|
velocity = velosity;
|
||||||
|
v = velosity;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,17 +35,17 @@ namespace DangerousD.GameCore.GameObjects.Entities
|
||||||
public override void Update(GameTime gameTime)
|
public override void Update(GameTime gameTime)
|
||||||
{
|
{
|
||||||
base.Update(gameTime);
|
base.Update(gameTime);
|
||||||
if (AppManager.Instance.GameManager.physicsManager.CheckRectangle(Rectangle).Count>0)
|
if (AppManager.Instance.GameManager.physicsManager.CheckRectangle( new Rectangle(Rectangle.X-2,Rectangle.Y-2,Rectangle.Width+8,Rectangle.Height+8)).Count>0)
|
||||||
{
|
{
|
||||||
IsVisibility = false;
|
AppManager.Instance.GameManager.Remove(this);
|
||||||
}
|
}
|
||||||
|
velocity = v;
|
||||||
}
|
}
|
||||||
public override void Draw(SpriteBatch spriteBatch)
|
public override void Draw(SpriteBatch spriteBatch)
|
||||||
{
|
{
|
||||||
if (IsVisibility)
|
|
||||||
{
|
base.Draw(spriteBatch);
|
||||||
base.Draw(spriteBatch);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,8 +15,8 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
||||||
public SilasHands(Vector2 position) : base(position)
|
public SilasHands(Vector2 position) : base(position)
|
||||||
{
|
{
|
||||||
name = "SilasHand";
|
name = "SilasHand";
|
||||||
Width = 48;
|
Width = 16;
|
||||||
Height = 48;
|
Height = 16;
|
||||||
monster_health = 2;
|
monster_health = 2;
|
||||||
monster_speed = 2;
|
monster_speed = 2;
|
||||||
acceleration = Vector2.Zero;
|
acceleration = Vector2.Zero;
|
||||||
|
|
|
@ -24,21 +24,17 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
||||||
public SilasMaster(Vector2 position) : base(position)
|
public SilasMaster(Vector2 position) : base(position)
|
||||||
{
|
{
|
||||||
name = "SilasMaster";
|
name = "SilasMaster";
|
||||||
Width = 144;
|
Width = 48;
|
||||||
Height = 160;
|
Height = 53;
|
||||||
monster_health = 15;
|
monster_health = 15;
|
||||||
monster_speed = 4;
|
monster_speed = 2;
|
||||||
acceleration = Vector2.Zero;
|
acceleration = Vector2.Zero;
|
||||||
leftBorder = (int)position.X - 60;
|
leftBorder = (int)position.X - 60;
|
||||||
rightBorder = (int)position.X + 120;
|
rightBorder = (int)position.X + 120;
|
||||||
acceleration = Vector2.Zero;
|
acceleration = Vector2.Zero;
|
||||||
hands.Add(new SilasHands(new Vector2(Pos.X+60,Pos.Y+120)));
|
hands.Add(new SilasHands(new Vector2(Pos.X+0,Pos.Y+53)));
|
||||||
hands.Add(new SilasHands(new Vector2(Pos.X + 90, Pos.Y + 120)));
|
hands.Add(new SilasHands(new Vector2(Pos.X + 24, Pos.Y + 53)));
|
||||||
for (int i = 0; i < 4; i++)
|
|
||||||
{
|
|
||||||
SilasBall silasball = new SilasBall(new Vector2(Pos.X + i * 40, Pos.Y + 120), new Vector2((i - 2) * 4, 6));
|
|
||||||
balls.Add(silasball);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
protected override GraphicsComponent GraphicsComponent { get; } = new GraphicsComponent(new List<string>() { "SilasMove", "SilasAttack" }, "SilasMove");
|
protected override GraphicsComponent GraphicsComponent { get; } = new GraphicsComponent(new List<string>() { "SilasMove", "SilasAttack" }, "SilasMove");
|
||||||
public override void Attack()
|
public override void Attack()
|
||||||
|
@ -64,12 +60,15 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters
|
||||||
|
|
||||||
private void SpawnAttackBall()
|
private void SpawnAttackBall()
|
||||||
{
|
{
|
||||||
for (int i = 0; i < balls.Count; i++)
|
balls.Clear();
|
||||||
|
for (int i = 0; i < 4; i++)
|
||||||
{
|
{
|
||||||
balls[i].SetPosition(new Vector2(Pos.X + i * 40, Pos.Y + 120));
|
SilasBall silasball = new SilasBall(new Vector2(Pos.X + i * 12, Pos.Y + 53), new Vector2((i - 2) * 2, 2));
|
||||||
|
|
||||||
|
balls.Add(silasball);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Attack(GameTime gameTime)
|
public void Attack(GameTime gameTime)
|
||||||
|
|
|
@ -28,6 +28,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
private bool isAttacked = false;
|
private bool isAttacked = false;
|
||||||
private bool isShooting = false;
|
private bool isShooting = false;
|
||||||
public GameObject objectAttack;
|
public GameObject objectAttack;
|
||||||
|
public bool isInvincible;
|
||||||
private int bullets;
|
private int bullets;
|
||||||
public bool FallingThroughPlatform = false;
|
public bool FallingThroughPlatform = false;
|
||||||
|
|
||||||
|
@ -60,6 +61,11 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Player(Vector2 position, bool isInvincible) : this(position)
|
||||||
|
{
|
||||||
|
this.isInvincible = isInvincible;
|
||||||
|
}
|
||||||
|
|
||||||
public bool IsAlive { get { return isAlive; } }
|
public bool IsAlive { get { return isAlive; } }
|
||||||
|
|
||||||
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "playerMoveLeft", "playerMoveRight", "DeathFromZombie", "playerRightStay", "playerStayLeft",
|
protected override GraphicsComponent GraphicsComponent { get; } = new(new List<string> { "playerMoveLeft", "playerMoveRight", "DeathFromZombie", "playerRightStay", "playerStayLeft",
|
||||||
|
@ -160,7 +166,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities
|
||||||
AppManager.Instance.DebugHUD.Log("not falling");
|
AppManager.Instance.DebugHUD.Log("not falling");
|
||||||
}
|
}
|
||||||
GraphicsComponent.SetCameraPosition(Pos);
|
GraphicsComponent.SetCameraPosition(Pos);
|
||||||
if (!isAttacked)
|
if (!isAttacked || isInvincible)
|
||||||
{
|
{
|
||||||
Move(gameTime);
|
Move(gameTime);
|
||||||
}
|
}
|
||||||
|
|
|
@ -202,7 +202,7 @@ namespace DangerousD.GameCore
|
||||||
case GameState.Lobby:
|
case GameState.Lobby:
|
||||||
break;
|
break;
|
||||||
case GameState.Game:
|
case GameState.Game:
|
||||||
GameManager.mapManager.LoadLevel("lvl");
|
GameManager.mapManager.LoadLevel("boss");
|
||||||
break;
|
break;
|
||||||
case GameState.Death:
|
case GameState.Death:
|
||||||
break;
|
break;
|
||||||
|
|
Loading…
Add table
Reference in a new issue