From 044f2f410e4a8319eeb8ae9de082f7bc976bee65 Mon Sep 17 00:00:00 2001 From: MARKPRO44 <119742977+MARKPRO4444@users.noreply.github.com> Date: Thu, 17 Aug 2023 11:52:37 +0300 Subject: [PATCH 1/2] FrankBalls_1 --- .../GameObjects/LivingEntities/Monsters/Frank.cs | 8 ++++++++ .../LivingEntities/Monsters/FrankBalls.cs | 15 +++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs index b0b3429..b67dd12 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs @@ -12,9 +12,17 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters { internal class Frank : CoreEnemy { + private Vector2 position; private bool isGoRight = false; + + public Vector2 Position + { + get { return position; } + } + public Frank(Vector2 position) : base(position) { + this.position = position; Width = 112; Height = 160; GraphicsComponent.StartAnimation("FrankMoveLeft"); diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs index 7101da2..fc871f7 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs @@ -12,8 +12,18 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters { public class FrankBalls : CoreEnemy { + private Rectangle collision; + private Vector2 position; + private int healthBall; + + public Rectangle Collision + { + get { return collision; } + } + public FrankBalls(Vector2 position) : base(position) { + this.position = position; name = "FrankBalls"; Width = 40; Height = 40; @@ -25,7 +35,8 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters public override void Attack() { - + collision = new Rectangle((int)position.X, (int)position.Y, 40, 40); + } public override void Death() @@ -35,7 +46,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters public override void Move(GameTime gameTime) { - + } } } From c35f288fba6b89dc0e463c26cf197bc151315f02 Mon Sep 17 00:00:00 2001 From: MARKPRO44 <119742977+MARKPRO4444@users.noreply.github.com> Date: Thu, 17 Aug 2023 15:28:00 +0300 Subject: [PATCH 2/2] FrankBall_2 --- DangerousD/GameCore/.DS_Store | Bin 0 -> 6148 bytes .../LivingEntities/Monsters/FrankBalls.cs | 40 ++++++++++++++++-- .../LivingEntities/Monsters/Zombie.cs | 2 +- .../LivingEntities/Player/Player.cs | 4 +- DangerousD/GameCore/Managers/SoundManager.cs | 13 ++++-- 5 files changed, 49 insertions(+), 10 deletions(-) create mode 100644 DangerousD/GameCore/.DS_Store diff --git a/DangerousD/GameCore/.DS_Store b/DangerousD/GameCore/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e6c817c0427ecceecf099cac1f16e2c00bf5bdf4 GIT binary patch literal 6148 zcmeHKyG{c^3>-s>NNG}1?l15Mt0*WXMSg%s5E6nQ0inK%@8Z)KKZFupC@5&qSh8o= z>)F#yaXtgE#cp#B%mGa4j`;8}Ha~YC*-2%LNar1wxWNPNaErH5_3?yrXISAHPvq_M zU*Fd++sEhaecpbYuB;T00#ZN91@cbtKq}y$yO7J#nX9zi*i^` zRFncz;820n+|IrKU(kP;{|`ypNdYPFuN1J!a=l#em8!RnUe0@MqhHaz=9BKmbx;_h l9TTG+bK~v!EQ+$O`I_gwa7YX~^Fb%-XTWulNrAss;0thb6^;M^ literal 0 HcmV?d00001 diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs index fc871f7..a235c3b 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FrankBalls.cs @@ -15,6 +15,8 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters private Rectangle collision; private Vector2 position; private int healthBall; + private bool isFlyRight = true; + private bool isAttacking = false; public Rectangle Collision { @@ -27,16 +29,36 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters name = "FrankBalls"; Width = 40; Height = 40; - monster_speed = 1; + monster_speed = 3; acceleration = Vector2.Zero; } protected override GraphicsComponent GraphicsComponent { get; } = new(new List { "BallMoveRight" }, "BallMoveRight"); + public override void Update(GameTime gameTime) + { + if(!isAttacking) + { + Move(gameTime); + } + + base.Update(gameTime); + } + public override void Attack() { collision = new Rectangle((int)position.X, (int)position.Y, 40, 40); - + isAttacking = true; + + if(isFlyRight) + { + AppManager.Instance.GameManager.players[0].Death(name); + } + else if(!isFlyRight) + { + AppManager.Instance.GameManager.players[0].Death(name); + } + } public override void Death() @@ -46,7 +68,19 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters public override void Move(GameTime gameTime) { - + velocity.X = 0; + velocity.Y = 0; + + if(isFlyRight) + { + velocity.X += monster_speed; + velocity.Y += monster_speed; + } + else if(!isFlyRight) + { + velocity.X -= monster_speed; + velocity.Y -= monster_speed; + } } } } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs index dba2deb..34aa9d5 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Zombie.cs @@ -43,7 +43,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters isAttaking = true; if (isGoRight) { - if (GraphicsComponent.GetCurrentAnimation != "ZombieMoveRight") + if (GraphicsComponent.GetCurrentAnimation != "ZombieRightAttack") { GraphicsComponent.StartAnimation("ZombieAttackRight"); } diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs index cd23ad2..7b9c0d6 100644 --- a/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Player/Player.cs @@ -16,7 +16,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities { Width = 32; Height = 64; - GraphicsComponent.actionOfAnimationEnd += () => + GraphicsComponent.actionOfAnimationEnd += (a) => { AppManager.Instance.ChangeGameState(GameState.GameOver); }; @@ -35,7 +35,7 @@ namespace DangerousD.GameCore.GameObjects.LivingEntities if(monsterName == "Zombie") { DeathRectangle deathRectangle = new DeathRectangle(Pos, "DeathFrom" + monsterName); - GraphicsComponent.actionOfAnimationEnd(); + GraphicsComponent.actionOfAnimationEnd("0"); } isAlive = false; } diff --git a/DangerousD/GameCore/Managers/SoundManager.cs b/DangerousD/GameCore/Managers/SoundManager.cs index 9021fa8..92feea5 100644 --- a/DangerousD/GameCore/Managers/SoundManager.cs +++ b/DangerousD/GameCore/Managers/SoundManager.cs @@ -19,12 +19,17 @@ namespace DangerousD.GameCore public void LoadSounds() // метод для загрузки звуков из папки { - string[] soundFiles = Directory.GetFiles("../../../Content").Where(x=>x.EndsWith("mp3")).Select(x=>x.Split("\\").Last().Replace(".mp3", "")).ToArray();// папка со звуками там где exe - foreach (var soundFile in soundFiles) + var k = Directory.GetFiles("../../..//Content").Where(x => x.EndsWith("mp3")); + if (k.Count()>0) { - Sounds.Add(soundFile, AppManager.Instance.Content.Load(soundFile).CreateInstance()); - } + string[] soundFiles = k.Select(x => x.Split("\\").Last().Split("/").Last().Replace(".mp3", "")).ToArray();// папка со звуками там где exe + foreach (var soundFile in soundFiles) + { + Sounds.Add(soundFile, AppManager.Instance.Content.Load(soundFile).CreateInstance()); + } + + } } public void StartAmbientSound(string soundName) // запустить звук у которого нет позиции