From 4d8adebf69e331b2821a326927e70d96d0220041 Mon Sep 17 00:00:00 2001 From: N4K Date: Tue, 15 Aug 2023 18:47:27 +0300 Subject: [PATCH] wip --- DangerousD/Content/Content.mgcb | 12 ++++ DangerousD/Content/MonstersAnimations.png | Bin 0 -> 40582 bytes DangerousD/Content/animations/FrankMoveLeft | 1 + DangerousD/Content/animations/FrankMoveRight | 1 + DangerousD/Content/animations/ZombieMoveRight | 2 +- .../LivingEntities/Monsters/FlameSkull.cs | 37 ++++++++++++ .../LivingEntities/Monsters/Frank.cs | 53 ++++++++++++++++++ .../LivingEntities/Monsters/Ghost.cs | 36 ++++++++++++ .../LivingEntities/Monsters/Hunchman.cs | 36 ++++++++++++ .../LivingEntities/Monsters/SilasHands.cs | 12 ++++ .../LivingEntities/Monsters/SilasMaster.cs | 12 ++++ .../LivingEntities/Monsters/Slime.cs | 38 +++++++++++++ .../LivingEntities/Monsters/Spider.cs | 36 ++++++++++++ .../LivingEntities/Monsters/Werewolf.cs | 36 ++++++++++++ DangerousD/GameCore/Levels/Level1.cs | 1 + 15 files changed, 312 insertions(+), 1 deletion(-) create mode 100644 DangerousD/Content/MonstersAnimations.png create mode 100644 DangerousD/Content/animations/FrankMoveLeft create mode 100644 DangerousD/Content/animations/FrankMoveRight create mode 100644 DangerousD/GameCore/GameObjects/LivingEntities/Monsters/FlameSkull.cs create mode 100644 DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs create mode 100644 DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Ghost.cs create mode 100644 DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs create mode 100644 DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs create mode 100644 DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs create mode 100644 DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Slime.cs create mode 100644 DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Spider.cs create mode 100644 DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Werewolf.cs diff --git a/DangerousD/Content/Content.mgcb b/DangerousD/Content/Content.mgcb index b32dbb2..2075f19 100644 --- a/DangerousD/Content/Content.mgcb +++ b/DangerousD/Content/Content.mgcb @@ -46,6 +46,18 @@ /processorParam:TextureFormat=Compressed /build:Font2.spritefont +#begin MonstersAnimations.png +/importer:TextureImporter +/processor:TextureProcessor +/processorParam:ColorKeyColor=255,0,255,255 +/processorParam:ColorKeyEnabled=True +/processorParam:GenerateMipmaps=False +/processorParam:PremultiplyAlpha=True +/processorParam:ResizeToPowerOfTwo=False +/processorParam:MakeSquare=False +/processorParam:TextureFormat=Color +/build:MonstersAnimations.png + #begin PC_Computer_Dangerous_Dave_In_The_Haunted_Mansion_Death_Sequences.png /importer:TextureImporter /processor:TextureProcessor diff --git a/DangerousD/Content/MonstersAnimations.png b/DangerousD/Content/MonstersAnimations.png new file mode 100644 index 0000000000000000000000000000000000000000..01d185cf818e751328eb79e1fc5ab3a11deb2d0d GIT binary patch literal 40582 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 { "FlameSkullMoveLeft", "FlameSkullMoveRight" }, "FlameSkullMoveRight"); + + public override void Attack() + { + + } + + public override void Death() + { + + } + + public override void Move(GameTime gameTime) + { + + } + } +} diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs new file mode 100644 index 0000000..cab454c --- /dev/null +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Frank.cs @@ -0,0 +1,53 @@ +using DangerousD.GameCore.Graphics; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.Graphics; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters +{ + internal class Frank : CoreEnemy + { + private bool isGoRight = false; + public Frank(Vector2 position) : base(position) + { + Width = 56; + Height = 80; + GraphicsComponent.StartAnimation("FrankMoveLeft"); + monster_speed = 50; + } + protected override GraphicsComponent GraphicsComponent { get; } = new(new List { "FrankMoveRight", "FrankMoveLeft" }, "FrankMoveRight"); + + public override void Attack() + { + + } + + public override void Death() + { + + } + + public override void Move(GameTime gameTime) + { + if (isGoRight) + { + if (GraphicsComponent.GetCurrentAnimation != "FrankMoveRight") + { + GraphicsComponent.StartAnimation("FrankMoveRight"); + } + } + else if (!isGoRight) + { + if (GraphicsComponent.GetCurrentAnimation != "FrankMoveLeft") + { + GraphicsComponent.StartAnimation("FrankMoveLeft"); + } + } + } + } +} diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Ghost.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Ghost.cs new file mode 100644 index 0000000..b8827b1 --- /dev/null +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Ghost.cs @@ -0,0 +1,36 @@ +using DangerousD.GameCore.Graphics; +using Microsoft.Xna.Framework; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters +{ + public class Ghost : CoreEnemy + { + public Ghost(Vector2 position) : base(position) + { + + } + + protected override GraphicsComponent GraphicsComponent { get; } = new(new List { "GhostMoveRight", "GhostMoveLeft", "GhostSpawn", "GhostAttack" }, ""); + + + public override void Attack() + { + + } + + public override void Death() + { + + } + + public override void Move(GameTime gameTime) + { + + } + } +} diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs new file mode 100644 index 0000000..cc6ecd5 --- /dev/null +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Hunchman.cs @@ -0,0 +1,36 @@ +using DangerousD.GameCore.Graphics; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.Graphics; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters +{ + public class Hunchman : CoreEnemy + { + public Hunchman(Vector2 position) : base(position) + { + } + + protected override GraphicsComponent GraphicsComponent { get; } = new(new List { "HunchmanMoveLeft", "HunchmanMoveRight", "HunchmanAttackLeft", "HunchmanAttackRight" }, "HunchmanMoveRight"); + + public override void Attack() + { + + } + + public override void Death() + { + + } + + public override void Move(GameTime gameTime) + { + + } + } +} diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs new file mode 100644 index 0000000..6c13e1b --- /dev/null +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasHands.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters +{ + internal class SilasHands + { + } +} diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs new file mode 100644 index 0000000..4a5d727 --- /dev/null +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/SilasMaster.cs @@ -0,0 +1,12 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters +{ + public class SilasMaster + { + } +} diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Slime.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Slime.cs new file mode 100644 index 0000000..9f3f936 --- /dev/null +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Slime.cs @@ -0,0 +1,38 @@ +using DangerousD.GameCore.Graphics; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.Graphics; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters +{ + public class Slime : CoreEnemy + { + public Slime(Vector2 position) : base(position) + { + } + + protected override GraphicsComponent GraphicsComponent { get; } = new(new List { "SlimeMoveLeftTop", "SlimeMoveLeftBottom", "SlimeMoveRightTop", + "SlimeMoveRightBottom", "SlimeReadyJumpRightBottom", "SlimeReadyJumpRightTop", "SlimeReadyJumpLeftBottom", "SlimeReadyJumpLeftTop", "SlimeJumpRightBottom", + "SlimeJumpRightTop", "SlimeJumpLeftBottom", "SlimeJumpLeftTop" }, ""); + + public override void Attack() + { + + } + + public override void Death() + { + + } + + public override void Move(GameTime gameTime) + { + + } + } +} diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Spider.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Spider.cs new file mode 100644 index 0000000..9513d71 --- /dev/null +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Spider.cs @@ -0,0 +1,36 @@ +using DangerousD.GameCore.Graphics; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.Graphics; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters +{ + public class Spider : CoreEnemy + { + public Spider(Vector2 position) : base(position) + { + } + + protected override GraphicsComponent GraphicsComponent { get; } = new(new List { "SpiderMoveRight", "SpiderMoveLeft", "SpiderDown", "SpiderUp" }, ""); + + public override void Attack() + { + + } + + public override void Death() + { + + } + + public override void Move(GameTime gameTime) + { + + } + } +} diff --git a/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Werewolf.cs b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Werewolf.cs new file mode 100644 index 0000000..91af742 --- /dev/null +++ b/DangerousD/GameCore/GameObjects/LivingEntities/Monsters/Werewolf.cs @@ -0,0 +1,36 @@ +using DangerousD.GameCore.Graphics; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.Graphics; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace DangerousD.GameCore.GameObjects.LivingEntities.Monsters +{ + public class Werewolf : CoreEnemy + { + public Werewolf(Vector2 position) : base(position) + { + } + + protected override GraphicsComponent GraphicsComponent { get; } = new(new List { "WolfMoveRight", "WolfMoveLeft", "WolfJumpRight", "WolfJumpLeft" }, ""); + + public override void Attack() + { + + } + + public override void Death() + { + + } + + public override void Move(GameTime gameTime) + { + + } + } +} diff --git a/DangerousD/GameCore/Levels/Level1.cs b/DangerousD/GameCore/Levels/Level1.cs index 1716044..835674c 100644 --- a/DangerousD/GameCore/Levels/Level1.cs +++ b/DangerousD/GameCore/Levels/Level1.cs @@ -13,6 +13,7 @@ namespace DangerousD.GameCore.Levels var Трава = new GrassBlock(new Vector2(0, 128)); var Death = new TestAnimationDeath(new Vector2(128, 128)); var Zombie = new Zombie(new Vector2(256, 128)); + var Frank = new Frank(new Vector2(384, 128)); } } }