diff --git a/Final game/App.config b/Final game/App.config new file mode 100644 index 0000000..5754728 --- /dev/null +++ b/Final game/App.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Final game/Entity.cs b/Final game/Entity.cs new file mode 100644 index 0000000..efde2c4 --- /dev/null +++ b/Final game/Entity.cs @@ -0,0 +1,244 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Drawing; + +namespace Final_game +{ + public class Entity + { + #region Fields + public int posX, posY, centreX, centreY; + + public int sizeX, sizeY; + + public int a; + public int speedX, speedY; + + public int dx, dy; + + public int idleFrames, runFrames, attackFrames, deathFrames, hurtFrames; + public int currentAnimation, currentFrame, frameLimit; + + public bool goUp, goDown, goLeft, goRight; + + public bool Attack, getDamage, isOnEarth; + + public bool flip; + + public int health, maxHealth; + + private readonly Random r = new Random(); + + public Image spriteSheet; + + #endregion + public Entity(int posX, int posY, int sizeX, int sizeY, int health, Image spriteSheet, int idleFrames = 1, int runFrames = 1, int attackFrames = 1, int deathFrames = 1, int hurtFrames = 4) + { + this.posX = posX; + this.posY = posY; + this.sizeX = sizeX; + this.sizeY = sizeY; + this.idleFrames = idleFrames; + this.runFrames = runFrames; + this.attackFrames = attackFrames; + this.deathFrames = deathFrames; + this.hurtFrames = hurtFrames; + this.health = health; + this.spriteSheet = spriteSheet; + + maxHealth = health; + currentAnimation = 0; + currentFrame = 0; + frameLimit = idleFrames; + flip = true; + a = 1; + speedX = 3; + } + + public void PlayAnimation(Graphics g) + { + currentFrame %= frameLimit; + + g.DrawImage(spriteSheet, new Rectangle(new Point(posX, posY), new Size(sizeX, sizeY)), + sizeX * currentFrame, sizeY * currentAnimation, sizeX, sizeY, GraphicsUnit.Pixel); + + currentFrame++; + } + + public void SetAniConf(int curAni) + { + if (curAni == 0 || curAni == 6) + frameLimit = idleFrames; + if (curAni == 1 || curAni == 7) + frameLimit = runFrames; + if (curAni == 2 || curAni == 8) + frameLimit = attackFrames; + if (curAni == 3 || curAni == 9) + frameLimit = 1; + if (curAni == 4 || curAni == 10) + frameLimit = deathFrames; + if (curAni == 5 || curAni == 11) + frameLimit = hurtFrames; + + currentAnimation = flip ? curAni % 6 : curAni % 6 + 6; + } + + public void Stop() + { + dx = 0; + dy = 0; + goUp = false; + goDown = false; + goLeft = false; + goRight = false; + Attack = false; + speedX = 0; + speedY = 0; + } + + public bool NearDoor(List doors) + { + foreach (var e in doors) + { + if (Math.Abs(posX + sizeX / 2 - e.posX - e.sizeX / 2) < 20 && Math.Abs(posY + sizeY / 2 - e.posY - e.sizeY / 2) < 10) + return true; + } + return false; + } + + public bool ContactEnemy(Entity enemy) + { + return Math.Abs(posX + sizeX/2 - enemy.posX - enemy.sizeX/2) < 25 && Math.Abs(posY + sizeY/2 - enemy.posY - enemy.sizeY/2) < 10; + } + + public void GoTo(Environment door) + { + posX = door.posX; + posY = door.posY; + } + + public void Phisics(List Boundaries) + { + dy += a; + GoingDown(Boundaries); + + if (goUp) + { + isOnEarth = false; + speedY += a; + GoingUp(Boundaries); + posY += speedY; + } + + if (goRight) + { + dx = 4; + GoingRight(Boundaries); + posX += dx; + } + + if (goLeft) + { + dx = -4; + GoingLeft(Boundaries); + posX += dx; + } + + posY += dy; + } + + public void Moving() + { + var jump = r.Next(0, 10); + goUp = jump > 7; + speedY = goUp ? -10 : 0; + } + + public void GoingUp(List boundaries) + { + if (!isOnEarth) + { + foreach (var el in boundaries) + { + if (posY + 4 > el.posY + el.sizeY && posY + speedY + 4 <= el.posY + el.sizeY && posX + 4 * sizeX / 5 > el.posX && posX + 2 * sizeX / 5 < el.posX + el.sizeX) + { + speedY = el.posY + el.sizeY - (posY + 3); + + } + } + } + if (speedY > 0) speedY = 0; + } + + public void GoingDown(List boundaries) + { + dy += a; + foreach (var el in boundaries) + { + if (posY + sizeY < el.posY && posY + sizeY + dy >= el.posY && posX + 4 * sizeX / 5 > el.posX && posX + 2 * sizeX / 5 < el.posX + el.sizeX) + { + dy = el.posY - (posY + sizeY ) - 1; + isOnEarth = true; + } + } + if (dy > 21) + dy = 21; + } + + public void GoingRight(List boundaries) + { + foreach (var el in boundaries) + { + if (posX + 4 * sizeX / 5 < el.posX && posX + 4 * sizeX / 5 + dx >= el.posX && posY + 5*sizeY/6 > el.posY && posY + 8 < el.posY + el.sizeY) + { + dx = el.posX - (posX + 4 * sizeX / 5) - 1; + } + } + } + + public void GoingLeft(List boundaries) + { + foreach (var el in boundaries) + { + if (posX + 2 * sizeX / 5 > el.posX + el.sizeX && posX + 2 * sizeX / 5 + dx <= el.posX + el.sizeX && posY + sizeY - 3 > el.posY && posY + 8 < el.posY + el.sizeY) + { + dx = el.posX + el.sizeX - (posX + 2 * sizeX / 5) + 1; + } + } + } + + public bool BotAttack() + { + var rnd = r.Next(0,10); + Attack = rnd > 8; + return Attack; + } + + public void GetDamage(bool side, List boundaries, int damage) + { + health -= damage; + SetAniConf(5); + if (side) + { + dx = 17; + dy = -5; + GoingRight(boundaries); + GoingUp(boundaries); + posX += dx; + posY += dy; + } + else + { + dx = -17; + dy = -5; + GoingRight(boundaries); + GoingUp(boundaries); + posX += dx; + posY += dy; + } + } + } +} diff --git a/Final game/Environment.cs b/Final game/Environment.cs new file mode 100644 index 0000000..33b3ba4 --- /dev/null +++ b/Final game/Environment.cs @@ -0,0 +1,58 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Final_game +{ + public class Environment + { + #region Fields + public int posX, posY; + + public int sizeX, sizeY; + + public int centreX, centreY; + + public int currentFrames, currentAnimation, frameLimit; + + public Image spriteSheet; + #endregion + + public Environment(int posX, int posY, int sizeX, int sizeY, Image spriteSheet) + { + this.posX = posX; + this.posY = posY; + this.sizeX = sizeX; + this.sizeY = sizeY; + this.spriteSheet = spriteSheet; + + centreX = posX + sizeX / 2; + centreY = posY + sizeY / 2; + + } + + public void PlayAnimation(Graphics g) + { + if (currentFrames == frameLimit) + currentFrames--; + g.DrawImage(spriteSheet, new Rectangle(new Point(posX, posY), new Size(sizeX, sizeY)), + sizeX*currentFrames, sizeY*currentAnimation, sizeX, sizeY, GraphicsUnit.Pixel); + currentFrames++; + } + + public void SetAniConf(int curAni) + { + if (curAni == 0) + frameLimit = 1; + if (curAni == 1) + frameLimit = 5; + if (curAni == 2) + frameLimit = 3; + + currentAnimation = curAni; + } + } +} diff --git a/Final game/Final game.csproj b/Final game/Final game.csproj new file mode 100644 index 0000000..b859626 --- /dev/null +++ b/Final game/Final game.csproj @@ -0,0 +1,118 @@ + + + + + Debug + AnyCPU + {0723FDC2-A104-42FC-BB85-870846F3BBDB} + WinExe + Final_game + Final game + v4.7.2 + 512 + true + true + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + + + + + + + + + Form + + + Form1.cs + + + True + True + Images.resx + + + + + + + Form1.cs + + + ResXFileCodeGenerator + Images.Designer.cs + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Final game/Final game.sln b/Final game/Final game.sln new file mode 100644 index 0000000..64a1950 --- /dev/null +++ b/Final game/Final game.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30413.136 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Final game", "Final game.csproj", "{0723FDC2-A104-42FC-BB85-870846F3BBDB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {0723FDC2-A104-42FC-BB85-870846F3BBDB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0723FDC2-A104-42FC-BB85-870846F3BBDB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0723FDC2-A104-42FC-BB85-870846F3BBDB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0723FDC2-A104-42FC-BB85-870846F3BBDB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {99C3F118-03D5-41D2-B19B-9584DB52B82E} + EndGlobalSection +EndGlobal diff --git a/Final game/Form1.Designer.cs b/Final game/Form1.Designer.cs new file mode 100644 index 0000000..0dbc69d --- /dev/null +++ b/Final game/Form1.Designer.cs @@ -0,0 +1,58 @@ +namespace Final_game +{ + partial class Form1 + { + /// + /// Обязательная переменная конструктора. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Освободить все используемые ресурсы. + /// + /// истинно, если управляемый ресурс должен быть удален; иначе ложно. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Код, автоматически созданный конструктором форм Windows + + /// + /// Требуемый метод для поддержки конструктора — не изменяйте + /// содержимое этого метода с помощью редактора кода. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + this.timer = new System.Windows.Forms.Timer(this.components); + this.SuspendLayout(); + // + // timer + // + this.timer.Enabled = true; + this.timer.Interval = 60; + this.timer.Tick += new System.EventHandler(this.Timer_Tick); + // + // Form1 + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.DoubleBuffered = true; + this.Name = "Form1"; + this.Text = "Form1"; + this.ResumeLayout(false); + this.Paint += new System.Windows.Forms.PaintEventHandler(this.OnPaint); + } + + #endregion + + private System.Windows.Forms.Timer timer; + } +} + diff --git a/Final game/Form1.cs b/Final game/Form1.cs new file mode 100644 index 0000000..35d4ede --- /dev/null +++ b/Final game/Form1.cs @@ -0,0 +1,400 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Windows.Forms; + +namespace Final_game +{ + public partial class Form1 : Form + { + #region Fields + private readonly Image Hero = Images.hero, + Enemy = Images.скелет, + Lifebar = Images.lifebar; + + + private readonly Image Wall = Images.wall, + Heart = Images.Heart; + + private Map map; + + private Entity player, enemy1, enemy2, enemy3, enemy4, enemy5, + heart, heart2; + + private Lifebar lifebar; + + private List Boundaries_1, Boundaries_2, Boundaries_3, Boundaries_4, + Doors; + + private List Enemies_1, Enemies_2, Enemies_3, Enemies_4; + + private int currentRoom; + + private bool openDoor; + + private bool gamePaused; + + private bool flag; + #endregion + + public Form1() + { + currentRoom = 1; + + InitializeComponent(); + + BackgroundImage = Images.background; + + KeyUp += new KeyEventHandler(OnKeyUp); + KeyDown += new KeyEventHandler(OnKeyDown); + + Init(); + } + + public void Init() + { + player = new Entity(20, 16, 50, 37, 500, Hero, 4, 6, 6, 7); + heart = new Entity(635, 280, 18, 14, 100, Heart, 8); + heart2 = new Entity(880, 40, 18, 14, 200, Heart, 8); + + map = new Map(); + Doors = map.Doors; + CreateBoundaries(map); + CreateEnemies(); + + timer.Start(); + gamePaused = false; + } + + public void CreateBoundaries(Map map) + { + Boundaries_1 = map.Boundaries_1; + Boundaries_2 = map.Boundaries_2; + Boundaries_3 = map.Boundaries_3; + Boundaries_4 = map.Boundaries_4; + } + public void CreateEnemies() + { + Enemies_1 = new List(); + Enemies_2 = new List(); + Enemies_3 = new List(); + Enemies_4 = new List(); + + enemy1 = new Entity(130, 65, 50, 37, 20, Enemy); + enemy2 = new Entity(50, 125, 50, 37, 20, Enemy); + Enemies_1.Add(enemy1); + Enemies_1.Add(enemy2); + + enemy1 = new Entity(110, 230, 50, 37, 40, Enemy); + enemy2 = new Entity(70, 180, 50, 37, 40, Enemy); + Enemies_2.Add(enemy1); + Enemies_2.Add(enemy2); + + enemy1 = new Entity(410, 270, 50, 37, 80, Enemy); + enemy2 = new Entity(480, 250, 50, 37, 80, Enemy); + enemy3 = new Entity(530, 290, 50, 37, 80, Enemy); + Enemies_3.Add(enemy1); + Enemies_3.Add(enemy2); + Enemies_3.Add(enemy3); + + enemy1 = new Entity(690, 190, 50, 37, 150, Enemy); + enemy2 = new Entity(900, 150, 50, 37, 150, Enemy); + enemy3 = new Entity(870, 17, 50, 37, 150, Enemy); + enemy4 = new Entity(785, 70, 50, 37, 150, Enemy); + enemy5 = new Entity(690, 140, 50, 37, 150, Enemy); + Enemies_4.Add(enemy1); + Enemies_4.Add(enemy2); + Enemies_4.Add(enemy3); + Enemies_4.Add(enemy4); + Enemies_4.Add(enemy5); + } + + private void Timer_Tick(object sender, EventArgs e) + { + SetStyle(ControlStyles.OptimizedDoubleBuffer | + ControlStyles.AllPaintingInWmPaint | + ControlStyles.UserPaint, true); + UpdateStyles(); + + if (player.health < 0) + Restart(); + + if (currentRoom == 1) + { + Doors[0].SetAniConf(1); + + openDoor = Enemies_1.Count == 0; + player.Phisics(Boundaries_1); + + for (int i = 0; i < Enemies_1.Count; i++) + { + var enemy = Enemies_1[i]; + enemy.Moving(); + enemy.Phisics(Boundaries_1); + + if (player.Attack && player.ContactEnemy(enemy)) + enemy.health -= 1; + if (enemy.health < 1) + Enemies_1.RemoveAt(i); + + if (enemy.BotAttack() && player.ContactEnemy(enemy)) + { + bool side = player.posX + player.sizeX / 2 > enemy.posX + enemy.sizeX / 2; + player.GetDamage(side, Boundaries_1, 5); + } + } + + if (openDoor && player.NearDoor(Doors)) + { + Doors[1].SetAniConf(1); + } + } + + if (currentRoom == 2) + { + Doors[2].SetAniConf(1); + + openDoor = Enemies_2.Count == 0; + player.Phisics(Boundaries_2); + + for (int i = 0; i < Enemies_2.Count; i++) + { + var enemy = Enemies_2[i]; + enemy.Moving(); + enemy.Phisics(Boundaries_2); + + if (player.Attack && player.ContactEnemy(enemy)) + enemy.health -= 1; + if (enemy.health < 1) Enemies_2.RemoveAt(i); + + if (enemy.BotAttack() && player.ContactEnemy(enemy)) + { + bool side = player.posX + player.sizeX / 2 > enemy.posX + enemy.sizeX / 2; + player.GetDamage(side, Boundaries_2, 8); + } + } + + if (openDoor && player.NearDoor(Doors)) + { + Doors[3].SetAniConf(1); + } + } + + if (currentRoom == 3) + { + Doors[4].SetAniConf(1); + heart.SetAniConf(0); + + openDoor = Enemies_3.Count == 0; + player.Phisics(Boundaries_3); + + for (int i = 0; i < Enemies_3.Count; i++) + { + var enemy = Enemies_3[i]; + enemy.Moving(); + enemy.Phisics(Boundaries_3); + + if (player.Attack && player.ContactEnemy(enemy)) + enemy.health -= 1; + if (enemy.health < 1) Enemies_3.RemoveAt(i); + + if (enemy.BotAttack() && player.ContactEnemy(enemy)) + { + bool side = player.posX + player.sizeX / 2 > enemy.posX + enemy.sizeX / 2; + player.GetDamage(side, Boundaries_3, 13); + } + } + + if (openDoor && !flag) + { + Boundaries_3.Add(new Environment(235, 280, 2, 55, Wall)); + Boundaries_3.Add(new Environment(704, 327, 50, 1, Wall)); + flag = true; + } + + if (openDoor && player.NearDoor(Doors)) + { + Doors[5].SetAniConf(1); + } + + if (player.Attack && player.ContactEnemy(heart)) + heart.health -= 5; + + if (heart.health < 1) + { + player.health += 300; + heart.spriteSheet = Wall; + heart.health = 10; + } + } + + if (currentRoom == 4) + { + Doors[6].SetAniConf(1); + heart2.SetAniConf(0); + + openDoor = Enemies_4.Count == 0; + player.Phisics(Boundaries_4); + + for (int i = 0; i < Enemies_4.Count; i++) + { + var enemy = Enemies_4[i]; + enemy.Moving(); + enemy.Phisics(Boundaries_4); + + if (player.Attack && player.ContactEnemy(enemy)) + enemy.health -= 1; + if (enemy.health < 1) Enemies_4.RemoveAt(i); + + if (enemy.BotAttack() && player.ContactEnemy(enemy)) + { + bool side = player.posX + player.sizeX / 2 > enemy.posX + enemy.sizeX / 2; + player.GetDamage(side, Boundaries_4, 17); + } + } + + if (openDoor && player.NearDoor(Doors)) + { + Doors[7].SetAniConf(1); + } + + if (player.Attack && player.ContactEnemy(heart2)) + heart2.health -= 1; + + if (heart2.health < 1) + { + player.health += 300; + heart2.spriteSheet = Wall; + heart2.health = 30; + } + } + + Invalidate(); + } + + public void OnKeyDown(object sender, KeyEventArgs e) + { + + if (e.KeyCode == Keys.A || e.KeyCode == Keys.Left) + { + player.dx = -3; + player.goLeft = true; + player.flip = false; + player.SetAniConf(1); + } + + if (e.KeyCode == Keys.D || e.KeyCode == Keys.Right) + { + player.dx = 3; + player.goRight = true; + player.flip = true; + player.SetAniConf(1); + } + + if (e.KeyCode == Keys.W || e.KeyCode == Keys.Up) + { + if (player.isOnEarth) + { + player.goUp = true; + player.speedY = -17; + player.SetAniConf(3); + } + } + + if (e.KeyCode == Keys.Space) + { + player.Attack = true; + player.SetAniConf(2); + } + + if (e.KeyCode == Keys.R) + Restart(); + + if (e.KeyCode == Keys.P) + { + if (!gamePaused) + { + timer.Stop(); + gamePaused = true; + } + else + { + timer.Start(); + gamePaused = false; + } + } + + if (e.KeyCode == Keys.N) + { + if (player.NearDoor(Doors) && openDoor) + { + switch (currentRoom) + { + case 1: + player.GoTo(Doors[2]); + currentRoom = 2; + break; + case 2: + player.GoTo(Doors[4]); + + currentRoom = 3; + break; + case 3: + player.GoTo(Doors[6]); + currentRoom = 4; + break; + case 4: + Restart(); + break; + + } + } + } + + } + + public void OnKeyUp(object sender, KeyEventArgs e) + { + player.Stop(); + player.SetAniConf(0); + } + + public void OnPaint(object sender, PaintEventArgs e) + { + Graphics g = e.Graphics; + + foreach (var door in Doors) + door.PlayAnimation(g); + + if (currentRoom == 1) + foreach (var r in Enemies_1) + r.PlayAnimation(g); + if (currentRoom == 2) + foreach (var r in Enemies_2) + r.PlayAnimation(g); + if (currentRoom == 3) + { + foreach (var r in Enemies_3) + r.PlayAnimation(g); + heart.PlayAnimation(g); + } + if (currentRoom == 4) + { + heart2.PlayAnimation(g); + foreach (var r in Enemies_4) + r.PlayAnimation(g); + } + + lifebar = new Lifebar(player); + lifebar.Draw(g); + player.PlayAnimation(g); + + } + + public void Restart() + { + currentRoom = 1; + Init(); + } + } +} diff --git a/Final game/Form1.resx b/Final game/Form1.resx new file mode 100644 index 0000000..b351ef9 --- /dev/null +++ b/Final game/Form1.resx @@ -0,0 +1,123 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + \ No newline at end of file diff --git a/Final game/Images.Designer.cs b/Final game/Images.Designer.cs new file mode 100644 index 0000000..e556230 --- /dev/null +++ b/Final game/Images.Designer.cs @@ -0,0 +1,133 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace Final_game { + using System; + + + /// + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Images { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Images() { + } + + /// + /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Final_game.Images", typeof(Images).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap background { + get { + object obj = ResourceManager.GetObject("background", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap door { + get { + object obj = ResourceManager.GetObject("door", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap Heart { + get { + object obj = ResourceManager.GetObject("Heart", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap hero { + get { + object obj = ResourceManager.GetObject("hero", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap lifebar { + get { + object obj = ResourceManager.GetObject("lifebar", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap wall { + get { + object obj = ResourceManager.GetObject("wall", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap скелет { + get { + object obj = ResourceManager.GetObject("скелет", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + } +} diff --git a/Final game/Images.resx b/Final game/Images.resx new file mode 100644 index 0000000..e8f1950 --- /dev/null +++ b/Final game/Images.resx @@ -0,0 +1,142 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Resources\background.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\door .png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\Heart.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\hero.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\lifebar.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\wall.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\скелет.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/Final game/Lifebar.cs b/Final game/Lifebar.cs new file mode 100644 index 0000000..f83c7c6 --- /dev/null +++ b/Final game/Lifebar.cs @@ -0,0 +1,34 @@ +using System; +using System.Collections.Generic; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Final_game +{ + class Lifebar + { + + public int posX, posY; + public int sizeX, sizeY; + private Image image = Images.lifebar; + public Lifebar(Entity player) + { + posX = player.posX + 10; + posY = player.posY; + sizeY = 5; + sizeX = CalculateSize(player.maxHealth, player.health); + } + + private int CalculateSize(int maxHealth, int health) + { + return health >= maxHealth ? 40 : (40 * health/maxHealth); + } + + public void Draw(Graphics g) + { + g.DrawImage(image, new Rectangle(new Point(posX, posY), new Size(sizeX, sizeY))); + } + } +} diff --git a/Final game/Map.cs b/Final game/Map.cs new file mode 100644 index 0000000..20144a5 --- /dev/null +++ b/Final game/Map.cs @@ -0,0 +1,130 @@ +using System.Collections.Generic; +using System.Drawing; + +namespace Final_game +{ + public class Map + { + public List Boundaries_1, + Boundaries_2, + Boundaries_3, + Boundaries_4, + Doors; + + private readonly Image Door = Images.door, + Wall = Images.wall; + + public Map() + { + Boundaries_1 = new List(); + Boundaries_2 = new List(); + Boundaries_3 = new List(); + Boundaries_4 = new List(); + Doors = new List(); + MakeMap(); + } + + private void MakeMap() + { + var door1_1 = new Environment(20, 17, 37, 45, Door); + var door1_2 = new Environment(128, 125, 37, 45, Door); + var door2_1 = new Environment(134, 181, 37, 45, Door); + var door2_2 = new Environment(136, 322, 37, 45, Door); + var door3_1 = new Environment(180, 280, 37, 45, Door); + var door3_2 = new Environment(596, 256, 37, 45, Door); + var door4_1 = new Environment(668, 190, 37, 45, Door); + var door4_2 = new Environment(913, 17, 37, 45, Door); + + Doors.Add(door1_1); + Doors.Add(door1_2); + Doors.Add(door2_1); + Doors.Add(door2_2); + Doors.Add(door3_1); + Doors.Add(door3_2); + Doors.Add(door4_1); + Doors.Add(door4_2); + + + var wallN = new Environment(0, 0, 985, 15, Wall); + var wallW = new Environment(0, 0, 25, 425, Wall); + var wallE = new Environment(947, 0, 25, 425, Wall); + var wallS = new Environment(0, 368, 985, 15, Wall); + var wall1_1 = new Environment(196, 0, 10, 150, Wall); + var wall1_2 = new Environment(162, 130, 10, 50, Wall); + var wall2_1 = new Environment(171, 146, 15, 250, Wall); + var wall2_2 = new Environment(27, 335, 61, 70, Wall); + var wall2_3 = new Environment(112, 366, 85, 15, Wall); + var wall3_1 = new Environment(175, 235, 245, 41, Wall); + var wall3_2 = new Environment(310, 330, 32, 60, Wall); + var wall3_3 = new Environment(415, 235, 280, 13, Wall); + var wall3_4 = new Environment(530, 245, 69, 37, Wall); + var wall3_5 = new Environment(640, 250, 100, 13, Wall); + var wall3_6 = new Environment(730, 249, 15, 120, Wall); + var wall4_1 = new Environment(650, 234, 290, 7, Wall); + var wall4_2 = new Environment(660, 0, 12, 370, Wall); + var wall4_3 = new Environment(910, 203, 90, 50, Wall); + var wall4_4 = new Environment(803, 170, 28, 70, Wall); + + var block1_1 = new Environment(25, 62, 96, 10, Wall); + var block1_2 = new Environment(72, 113, 136, 10, Wall); + var block1_3 = new Environment(20, 171, 159, 6, Wall); + var block2_1 = new Environment(86, 227, 100, 10, Wall); + var block2_2 = new Environment(113, 298, 70, 1, Wall); + var block3_1 = new Environment(180, 325, 62, 1, Wall); + var block3_2 = new Environment(385, 322, 76, 1, Wall); + var block3_3 = new Environment(482, 296, 116, 1, Wall); + var block3_4 = new Environment(590, 305, 80, 1, Wall); + var block3_5 = new Environment(706, 327, 50, 1, Wall); + var block4_1 = new Environment(670, 185, 75, 1, Wall); + var block4_2 = new Environment(860, 186, 25, 1, Wall); + var block4_3 = new Environment(670, 128, 32, 1, Wall); + var block4_4 = new Environment(743, 145, 29, 1, Wall); + var block4_5 = new Environment(800, 123, 29, 1, Wall); + var block4_6 = new Environment(812, 81, 25, 1, Wall); + var block4_7 = new Environment(857, 62, 100, 7, Wall); + + Boundaries_1.Add(wallN); + Boundaries_1.Add(wallW); + Boundaries_1.Add(wall1_1); + Boundaries_1.Add(wall1_2); + Boundaries_2.Add(wallW); + Boundaries_2.Add(wallS); + Boundaries_2.Add(block1_3); + Boundaries_2.Add(wall2_1); + Boundaries_2.Add(wall2_2); + Boundaries_2.Add(wall2_3); + Boundaries_3.Add(wallS); + Boundaries_3.Add(wall2_1); + Boundaries_3.Add(wall3_1); + Boundaries_3.Add(wall3_2); + Boundaries_3.Add(wall3_3); + Boundaries_3.Add(wall3_4); + Boundaries_3.Add(wall3_5); + Boundaries_3.Add(wall3_6); + Boundaries_4.Add(wallN); + Boundaries_4.Add(wallE); + Boundaries_4.Add(wall4_1); + Boundaries_4.Add(wall4_2); + Boundaries_4.Add(wall4_3); + Boundaries_4.Add(wall4_4); + + Boundaries_1.Add(block1_1); + Boundaries_1.Add(block1_2); + Boundaries_1.Add(block1_3); + Boundaries_2.Add(block2_1); + Boundaries_2.Add(block2_2); + Boundaries_3.Add(block3_1); + Boundaries_3.Add(block3_2); + Boundaries_3.Add(block3_3); + Boundaries_3.Add(block3_4); + Boundaries_3.Add(block3_5); + Boundaries_4.Add(block4_1); + Boundaries_4.Add(block4_2); + Boundaries_4.Add(block4_3); + Boundaries_4.Add(block4_4); + Boundaries_4.Add(block4_5); + Boundaries_4.Add(block4_6); + Boundaries_4.Add(block4_7); + } + } +} diff --git a/Final game/Program.cs b/Final game/Program.cs new file mode 100644 index 0000000..b7f3eb9 --- /dev/null +++ b/Final game/Program.cs @@ -0,0 +1,27 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace Final_game +{ + static class Program + { + /// + /// Главная точка входа для приложения. + /// + [STAThread] + static void Main() + { + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Form Form1 = new Form1() + { + Width = 980, + Height = 425 + }; + Application.Run(Form1); + } + } +} diff --git a/Final game/Properties/AssemblyInfo.cs b/Final game/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..d829b98 --- /dev/null +++ b/Final game/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// Общие сведения об этой сборке предоставляются следующим набором +// набора атрибутов. Измените значения этих атрибутов для изменения сведений, +// связанных со сборкой. +[assembly: AssemblyTitle("Final game")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("Microsoft")] +[assembly: AssemblyProduct("Final game")] +[assembly: AssemblyCopyright("Copyright © Microsoft 2021")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми +// для компонентов COM. Если необходимо обратиться к типу в этой сборке через +// COM, следует установить атрибут ComVisible в TRUE для этого типа. +[assembly: ComVisible(false)] + +// Следующий GUID служит для идентификации библиотеки типов, если этот проект будет видимым для COM +[assembly: Guid("0723fdc2-a104-42fc-bb85-870846f3bbdb")] + +// Сведения о версии сборки состоят из указанных ниже четырех значений: +// +// Основной номер версии +// Дополнительный номер версии +// Номер сборки +// Редакция +// +// Можно задать все значения или принять номера сборки и редакции по умолчанию +// используя "*", как показано ниже: +// [assembly: AssemblyVersion("1.0.*")] +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/Final game/Properties/Resources.Designer.cs b/Final game/Properties/Resources.Designer.cs new file mode 100644 index 0000000..6ed2484 --- /dev/null +++ b/Final game/Properties/Resources.Designer.cs @@ -0,0 +1,71 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программным средством. +// Версия среды выполнения: 4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если +// код создан повторно. +// +//------------------------------------------------------------------------------ + +namespace Final_game.Properties +{ + + + /// + /// Класс ресурсов со строгим типом для поиска локализованных строк и пр. + /// + // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder + // класс с помощью таких средств, как ResGen или Visual Studio. + // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen + // с параметром /str или заново постройте свой VS-проект. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + internal class Resources + { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Resources() + { + } + + /// + /// Возврат кэшированного экземпляра ResourceManager, используемого этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Resources.ResourceManager ResourceManager + { + get + { + if ((resourceMan == null)) + { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Final_game.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Переопределяет свойство CurrentUICulture текущего потока для всех + /// подстановки ресурсов с помощью этого класса ресурсов со строгим типом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture + { + get + { + return resourceCulture; + } + set + { + resourceCulture = value; + } + } + } +} diff --git a/Final game/Properties/Resources.resx b/Final game/Properties/Resources.resx new file mode 100644 index 0000000..ffecec8 --- /dev/null +++ b/Final game/Properties/Resources.resx @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Final game/Properties/Settings.Designer.cs b/Final game/Properties/Settings.Designer.cs new file mode 100644 index 0000000..01cad27 --- /dev/null +++ b/Final game/Properties/Settings.Designer.cs @@ -0,0 +1,30 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +namespace Final_game.Properties +{ + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase + { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default + { + get + { + return defaultInstance; + } + } + } +} diff --git a/Final game/Properties/Settings.settings b/Final game/Properties/Settings.settings new file mode 100644 index 0000000..abf36c5 --- /dev/null +++ b/Final game/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Final game/Resources/Heart.png b/Final game/Resources/Heart.png new file mode 100644 index 0000000..233925c Binary files /dev/null and b/Final game/Resources/Heart.png differ diff --git a/Final game/Resources/background.png b/Final game/Resources/background.png new file mode 100644 index 0000000..4a6d950 Binary files /dev/null and b/Final game/Resources/background.png differ diff --git a/Final game/Resources/background.psd b/Final game/Resources/background.psd new file mode 100644 index 0000000..fe84d4e Binary files /dev/null and b/Final game/Resources/background.psd differ diff --git a/Final game/Resources/door .png b/Final game/Resources/door .png new file mode 100644 index 0000000..0fa843c Binary files /dev/null and b/Final game/Resources/door .png differ diff --git a/Final game/Resources/hero.png b/Final game/Resources/hero.png new file mode 100644 index 0000000..2bf6833 Binary files /dev/null and b/Final game/Resources/hero.png differ diff --git a/Final game/Resources/lifebar.png b/Final game/Resources/lifebar.png new file mode 100644 index 0000000..8ca970a Binary files /dev/null and b/Final game/Resources/lifebar.png differ diff --git a/Final game/Resources/wall.png b/Final game/Resources/wall.png new file mode 100644 index 0000000..396f4c7 Binary files /dev/null and b/Final game/Resources/wall.png differ diff --git "a/Final game/Resources/\320\277\320\276\320\264\321\201\321\202\320\260\320\262\320\272\320\260.png" "b/Final game/Resources/\320\277\320\276\320\264\321\201\321\202\320\260\320\262\320\272\320\260.png" new file mode 100644 index 0000000..63341ef Binary files /dev/null and "b/Final game/Resources/\320\277\320\276\320\264\321\201\321\202\320\260\320\262\320\272\320\260.png" differ diff --git "a/Final game/Resources/\321\201\320\272\320\265\320\273\320\265\321\202.png" "b/Final game/Resources/\321\201\320\272\320\265\320\273\320\265\321\202.png" new file mode 100644 index 0000000..739b590 Binary files /dev/null and "b/Final game/Resources/\321\201\320\272\320\265\320\273\320\265\321\202.png" differ diff --git a/Final game/bin/Debug/Final game.exe b/Final game/bin/Debug/Final game.exe new file mode 100644 index 0000000..3e5136a Binary files /dev/null and b/Final game/bin/Debug/Final game.exe differ diff --git a/Final game/bin/Debug/Final game.exe.config b/Final game/bin/Debug/Final game.exe.config new file mode 100644 index 0000000..5754728 --- /dev/null +++ b/Final game/bin/Debug/Final game.exe.config @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/Final game/bin/Debug/Final game.pdb b/Final game/bin/Debug/Final game.pdb new file mode 100644 index 0000000..c4e6047 Binary files /dev/null and b/Final game/bin/Debug/Final game.pdb differ diff --git a/Final game/obj/Debug/DesignTimeResolveAssemblyReferences.cache b/Final game/obj/Debug/DesignTimeResolveAssemblyReferences.cache new file mode 100644 index 0000000..e0bd4cd Binary files /dev/null and b/Final game/obj/Debug/DesignTimeResolveAssemblyReferences.cache differ diff --git a/Final game/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/Final game/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..f9f8e20 Binary files /dev/null and b/Final game/obj/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/Final game/obj/Debug/Final game.csproj.CoreCompileInputs.cache b/Final game/obj/Debug/Final game.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000..f68d251 --- /dev/null +++ b/Final game/obj/Debug/Final game.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +8ae4dbd74641607e96f49205f3bf785dbb2bf4d2 diff --git a/Final game/obj/Debug/Final game.csproj.FileListAbsolute.txt b/Final game/obj/Debug/Final game.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..c6345f0 --- /dev/null +++ b/Final game/obj/Debug/Final game.csproj.FileListAbsolute.txt @@ -0,0 +1,11 @@ +C:\Users\Максим\source\repos\Final game\bin\Debug\Final game.exe.config +C:\Users\Максим\source\repos\Final game\bin\Debug\Final game.exe +C:\Users\Максим\source\repos\Final game\bin\Debug\Final game.pdb +C:\Users\Максим\source\repos\Final game\obj\Debug\Final game.csprojAssemblyReference.cache +C:\Users\Максим\source\repos\Final game\obj\Debug\Final_game.Images.resources +C:\Users\Максим\source\repos\Final game\obj\Debug\Final_game.Properties.Resources.resources +C:\Users\Максим\source\repos\Final game\obj\Debug\Final game.csproj.GenerateResource.cache +C:\Users\Максим\source\repos\Final game\obj\Debug\Final game.csproj.CoreCompileInputs.cache +C:\Users\Максим\source\repos\Final game\obj\Debug\Final game.exe +C:\Users\Максим\source\repos\Final game\obj\Debug\Final game.pdb +C:\Users\Максим\source\repos\Final game\obj\Debug\Final_game.Form1.resources diff --git a/Final game/obj/Debug/Final game.csproj.GenerateResource.cache b/Final game/obj/Debug/Final game.csproj.GenerateResource.cache new file mode 100644 index 0000000..e3fcb26 Binary files /dev/null and b/Final game/obj/Debug/Final game.csproj.GenerateResource.cache differ diff --git a/Final game/obj/Debug/Final game.csprojAssemblyReference.cache b/Final game/obj/Debug/Final game.csprojAssemblyReference.cache new file mode 100644 index 0000000..fba7aa8 Binary files /dev/null and b/Final game/obj/Debug/Final game.csprojAssemblyReference.cache differ diff --git a/Final game/obj/Debug/Final game.exe b/Final game/obj/Debug/Final game.exe new file mode 100644 index 0000000..3e5136a Binary files /dev/null and b/Final game/obj/Debug/Final game.exe differ diff --git a/Final game/obj/Debug/Final game.pdb b/Final game/obj/Debug/Final game.pdb new file mode 100644 index 0000000..c4e6047 Binary files /dev/null and b/Final game/obj/Debug/Final game.pdb differ diff --git a/Final game/obj/Debug/Final_game.Form1.resources b/Final game/obj/Debug/Final_game.Form1.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/Final game/obj/Debug/Final_game.Form1.resources differ diff --git a/Final game/obj/Debug/Final_game.Images.resources b/Final game/obj/Debug/Final_game.Images.resources new file mode 100644 index 0000000..2dfddcc Binary files /dev/null and b/Final game/obj/Debug/Final_game.Images.resources differ diff --git a/Final game/obj/Debug/Final_game.Properties.Resources.resources b/Final game/obj/Debug/Final_game.Properties.Resources.resources new file mode 100644 index 0000000..6c05a97 Binary files /dev/null and b/Final game/obj/Debug/Final_game.Properties.Resources.resources differ diff --git a/Final game/obj/Debug/TempPE/Images.Designer.cs.dll b/Final game/obj/Debug/TempPE/Images.Designer.cs.dll new file mode 100644 index 0000000..b58c6de Binary files /dev/null and b/Final game/obj/Debug/TempPE/Images.Designer.cs.dll differ diff --git a/Final game/obj/Debug/TempPE/Resource1.Designer.cs.dll b/Final game/obj/Debug/TempPE/Resource1.Designer.cs.dll new file mode 100644 index 0000000..048983c Binary files /dev/null and b/Final game/obj/Debug/TempPE/Resource1.Designer.cs.dll differ diff --git a/Final game/obj/Debug/TempPE/Sounds.Designer.cs.dll b/Final game/obj/Debug/TempPE/Sounds.Designer.cs.dll new file mode 100644 index 0000000..89fbfdc Binary files /dev/null and b/Final game/obj/Debug/TempPE/Sounds.Designer.cs.dll differ