diff --git a/SuperAwesomeMagnetGame.sln b/SuperAwesomeMagnetGame.sln new file mode 100644 index 0000000..1ec412d --- /dev/null +++ b/SuperAwesomeMagnetGame.sln @@ -0,0 +1,24 @@ + +Microsoft Visual Studio Solution File, Format Version 11.00 +# Visual Studio 2010 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SuperAwesomeMagnetGame", "SuperAwesomeMagnetGame\SuperAwesomeMagnetGame.csproj", "{8186CF63-C057-438A-A3E9-87DEBE241B50}" +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SuperAwesomeMagnetGameContent", "SuperAwesomeMagnetGame\Content\SuperAwesomeMagnetGameContent.contentproj", "{E4EC5B34-CC40-4D86-9976-1BEB6112D6F7}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x86 = Debug|x86 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {8186CF63-C057-438A-A3E9-87DEBE241B50}.Debug|x86.ActiveCfg = Debug|x86 + {8186CF63-C057-438A-A3E9-87DEBE241B50}.Debug|x86.Build.0 = Debug|x86 + {8186CF63-C057-438A-A3E9-87DEBE241B50}.Release|x86.ActiveCfg = Release|x86 + {8186CF63-C057-438A-A3E9-87DEBE241B50}.Release|x86.Build.0 = Release|x86 + {E4EC5B34-CC40-4D86-9976-1BEB6112D6F7}.Debug|x86.ActiveCfg = Debug|x86 + {E4EC5B34-CC40-4D86-9976-1BEB6112D6F7}.Release|x86.ActiveCfg = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/SuperAwesomeMagnetGame.suo b/SuperAwesomeMagnetGame.suo new file mode 100644 index 0000000..e67c406 Binary files /dev/null and b/SuperAwesomeMagnetGame.suo differ diff --git a/SuperAwesomeMagnetGame/Background.cs b/SuperAwesomeMagnetGame/Background.cs new file mode 100644 index 0000000..703cae6 --- /dev/null +++ b/SuperAwesomeMagnetGame/Background.cs @@ -0,0 +1,65 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace SuperAwesomeMagnetGame +{ + class Background : Sprite + { + public Background(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue) { } + + public Background(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, int millisecondsPerFrame) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, millisecondsPerFrame) { } + + public Vector2 Position + { + get + { + return position; + } + set + { + position = value; + } + } + + public Point FrameSize + { + get + { + return frameSize; + } + } + + public override Vector2 Direction + { + get + { + return speed; + } + } + + public override void Update(GameTime gameTime, Rectangle clientBounds) + { + position += speed; + } + + public override void Draw(GameTime gameTime, SpriteBatch spriteBatch) + { + spriteBatch.Draw(image, position, new Rectangle(currentFrame.X * frameSize.X, + currentFrame.Y * frameSize.Y, frameSize.X, frameSize.Y), Color.White, 0, + new Vector2(25, 25), 1f, SpriteEffects.None, 0.1f); + } + } +} diff --git a/SuperAwesomeMagnetGame/BlockSprite.cs b/SuperAwesomeMagnetGame/BlockSprite.cs new file mode 100644 index 0000000..acbdbe9 --- /dev/null +++ b/SuperAwesomeMagnetGame/BlockSprite.cs @@ -0,0 +1,39 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace SuperAwesomeMagnetGame +{ + class BlockSprite : Sprite + { + public BlockSprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue) { } + + public BlockSprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, int millisecondsPerFrame) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, millisecondsPerFrame) { } + + public override Vector2 Direction + { + get { return speed; } + } + + public override void Update(GameTime gameTime, Rectangle clientBounds) + { + position += Direction; + + if (position.X < 0) speed.X = -speed.X; + if (position.Y < 0) speed.Y = -speed.Y; + if (position.X > 1024 - frameSize.X) speed.X = -speed.X; + if (position.Y > 768 - frameSize.Y) speed.Y = -speed.Y; + } + } +} diff --git a/SuperAwesomeMagnetGame/Content/Audio/AddBlockSound.wav b/SuperAwesomeMagnetGame/Content/Audio/AddBlockSound.wav new file mode 100644 index 0000000..4ba1fb4 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/AddBlockSound.wav differ diff --git a/SuperAwesomeMagnetGame/Content/Audio/Background Music.mp3 b/SuperAwesomeMagnetGame/Content/Audio/Background Music.mp3 new file mode 100644 index 0000000..a65a623 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/Background Music.mp3 differ diff --git a/SuperAwesomeMagnetGame/Content/Audio/ClearSound.wav b/SuperAwesomeMagnetGame/Content/Audio/ClearSound.wav new file mode 100644 index 0000000..7c5f521 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/ClearSound.wav differ diff --git a/SuperAwesomeMagnetGame/Content/Audio/CrossSound.wav b/SuperAwesomeMagnetGame/Content/Audio/CrossSound.wav new file mode 100644 index 0000000..e39f0d3 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/CrossSound.wav differ diff --git a/SuperAwesomeMagnetGame/Content/Audio/HitSound.wav b/SuperAwesomeMagnetGame/Content/Audio/HitSound.wav new file mode 100644 index 0000000..0e5f3dc Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/HitSound.wav differ diff --git a/SuperAwesomeMagnetGame/Content/Audio/KillSound.wav b/SuperAwesomeMagnetGame/Content/Audio/KillSound.wav new file mode 100644 index 0000000..f20fb37 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/KillSound.wav differ diff --git a/SuperAwesomeMagnetGame/Content/Audio/LifeUpSound.wav b/SuperAwesomeMagnetGame/Content/Audio/LifeUpSound.wav new file mode 100644 index 0000000..7a3013e Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/LifeUpSound.wav differ diff --git a/SuperAwesomeMagnetGame/Content/Audio/NoBlockSound.wav b/SuperAwesomeMagnetGame/Content/Audio/NoBlockSound.wav new file mode 100644 index 0000000..de8cad3 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/NoBlockSound.wav differ diff --git a/SuperAwesomeMagnetGame/Content/Audio/PowerupSpawn.wav b/SuperAwesomeMagnetGame/Content/Audio/PowerupSpawn.wav new file mode 100644 index 0000000..79fe02a Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/PowerupSpawn.wav differ diff --git a/SuperAwesomeMagnetGame/Content/Audio/ReflectSound.wav b/SuperAwesomeMagnetGame/Content/Audio/ReflectSound.wav new file mode 100644 index 0000000..b0ca989 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/ReflectSound.wav differ diff --git a/SuperAwesomeMagnetGame/Content/Audio/ShootSound.wav b/SuperAwesomeMagnetGame/Content/Audio/ShootSound.wav new file mode 100644 index 0000000..5f5e79a Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/ShootSound.wav differ diff --git a/SuperAwesomeMagnetGame/Content/Audio/SlowSound.wav b/SuperAwesomeMagnetGame/Content/Audio/SlowSound.wav new file mode 100644 index 0000000..62d62be Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Audio/SlowSound.wav differ diff --git a/SuperAwesomeMagnetGame/Content/Fonts/Arial.spritefont b/SuperAwesomeMagnetGame/Content/Fonts/Arial.spritefont new file mode 100644 index 0000000..21e3c01 --- /dev/null +++ b/SuperAwesomeMagnetGame/Content/Fonts/Arial.spritefont @@ -0,0 +1,60 @@ + + + + + + + Kootenay + + + 14 + + + 0 + + + true + + + + + + + + + + + + ~ + + + + diff --git a/SuperAwesomeMagnetGame/Content/Images/AddBlockPowerup.png b/SuperAwesomeMagnetGame/Content/Images/AddBlockPowerup.png new file mode 100644 index 0000000..d851ffc Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/AddBlockPowerup.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/Background.png b/SuperAwesomeMagnetGame/Content/Images/Background.png new file mode 100644 index 0000000..0ad48b3 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/Background.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/Block.png b/SuperAwesomeMagnetGame/Content/Images/Block.png new file mode 100644 index 0000000..0135703 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/Block.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/BlueEnemy.png b/SuperAwesomeMagnetGame/Content/Images/BlueEnemy.png new file mode 100644 index 0000000..df9022f Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/BlueEnemy.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/BlueEnemyAttack.png b/SuperAwesomeMagnetGame/Content/Images/BlueEnemyAttack.png new file mode 100644 index 0000000..e28afd1 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/BlueEnemyAttack.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/BombPowerup.png b/SuperAwesomeMagnetGame/Content/Images/BombPowerup.png new file mode 100644 index 0000000..0b6d18d Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/BombPowerup.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/CreditsScreen.png b/SuperAwesomeMagnetGame/Content/Images/CreditsScreen.png new file mode 100644 index 0000000..e6f9d26 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/CreditsScreen.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/CrossPowerup.png b/SuperAwesomeMagnetGame/Content/Images/CrossPowerup.png new file mode 100644 index 0000000..c8285b3 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/CrossPowerup.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/EndScreen.png b/SuperAwesomeMagnetGame/Content/Images/EndScreen.png new file mode 100644 index 0000000..73b1924 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/EndScreen.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/LifePowerup.png b/SuperAwesomeMagnetGame/Content/Images/LifePowerup.png new file mode 100644 index 0000000..1a4fce0 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/LifePowerup.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/MagnaBoyHand.png b/SuperAwesomeMagnetGame/Content/Images/MagnaBoyHand.png new file mode 100644 index 0000000..b33cff5 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/MagnaBoyHand.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/MagnaBoyWalkingSheet.bmp b/SuperAwesomeMagnetGame/Content/Images/MagnaBoyWalkingSheet.bmp new file mode 100644 index 0000000..dd320ad Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/MagnaBoyWalkingSheet.bmp differ diff --git a/SuperAwesomeMagnetGame/Content/Images/NegativeMagnet.png b/SuperAwesomeMagnetGame/Content/Images/NegativeMagnet.png new file mode 100644 index 0000000..646086e Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/NegativeMagnet.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/NoBlockPowerup.png b/SuperAwesomeMagnetGame/Content/Images/NoBlockPowerup.png new file mode 100644 index 0000000..ceeeb57 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/NoBlockPowerup.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/PositiveMagnet.png b/SuperAwesomeMagnetGame/Content/Images/PositiveMagnet.png new file mode 100644 index 0000000..fa493ab Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/PositiveMagnet.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/RedEnemy.png b/SuperAwesomeMagnetGame/Content/Images/RedEnemy.png new file mode 100644 index 0000000..2a756d2 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/RedEnemy.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/RedEnemyAttack.png b/SuperAwesomeMagnetGame/Content/Images/RedEnemyAttack.png new file mode 100644 index 0000000..b7ffcd2 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/RedEnemyAttack.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/SlowPowerup.png b/SuperAwesomeMagnetGame/Content/Images/SlowPowerup.png new file mode 100644 index 0000000..0e41e10 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/SlowPowerup.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/StartScreen.png b/SuperAwesomeMagnetGame/Content/Images/StartScreen.png new file mode 100644 index 0000000..acb4137 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/StartScreen.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/WinScreen.png b/SuperAwesomeMagnetGame/Content/Images/WinScreen.png new file mode 100644 index 0000000..2fb2f5b Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/WinScreen.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/red-square-16x16.png b/SuperAwesomeMagnetGame/Content/Images/red-square-16x16.png new file mode 100644 index 0000000..0f0a55d Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/red-square-16x16.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/tutorialscreen.png b/SuperAwesomeMagnetGame/Content/Images/tutorialscreen.png new file mode 100644 index 0000000..b7b94ec Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/tutorialscreen.png differ diff --git a/SuperAwesomeMagnetGame/Content/Images/white-square-16x16.png b/SuperAwesomeMagnetGame/Content/Images/white-square-16x16.png new file mode 100644 index 0000000..9a274a6 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/Images/white-square-16x16.png differ diff --git a/SuperAwesomeMagnetGame/Content/SuperAwesomeMagnetGameContent.contentproj b/SuperAwesomeMagnetGame/Content/SuperAwesomeMagnetGameContent.contentproj new file mode 100644 index 0000000..70513e9 --- /dev/null +++ b/SuperAwesomeMagnetGame/Content/SuperAwesomeMagnetGameContent.contentproj @@ -0,0 +1,341 @@ + + + + {E4EC5B34-CC40-4D86-9976-1BEB6112D6F7} + {96E2B04D-8817-42c6-938A-82C39BA4D311};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Debug + x86 + Library + Properties + v4.0 + v4.0 + x86 + bin\$(Platform)\$(Configuration) + Content + publish\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 0 + 1.0.0.%2a + false + false + true + + + Windows + AllRules.ruleset + + + Windows + AllRules.ruleset + + + + False + + + False + + + False + + + False + + + False + + + False + + + + + MagnaBoyWalkingSheet + TextureImporter + TextureProcessor + + + + + white-square-16x16 + TextureImporter + TextureProcessor + + + + + red-square-16x16 + TextureImporter + TextureProcessor + + + + + MagnaBoyHand + TextureImporter + TextureProcessor + + + + + NegativeMagnet + TextureImporter + TextureProcessor + + + + + PositiveMagnet + TextureImporter + TextureProcessor + + + + + Background + TextureImporter + TextureProcessor + + + + + Arial + FontDescriptionImporter + FontDescriptionProcessor + + + + + RedEnemy + TextureImporter + TextureProcessor + + + + + BlueEnemy + TextureImporter + TextureProcessor + + + + + BlueEnemyAttack + TextureImporter + TextureProcessor + + + + + RedEnemyAttack + TextureImporter + TextureProcessor + + + + + HitSound + WavImporter + SoundEffectProcessor + + + + + KillSound + WavImporter + SoundEffectProcessor + + + + + ShootSound + WavImporter + SoundEffectProcessor + + + + + Block + TextureImporter + TextureProcessor + + + + + EndScreen + TextureImporter + TextureProcessor + + + + + ReflectSound + WavImporter + SoundEffectProcessor + + + + + StartScreen + TextureImporter + TextureProcessor + + + + + LifePowerup + TextureImporter + TextureProcessor + + + + + WinScreen + TextureImporter + TextureProcessor + + + + + Background Music + Mp3Importer + SongProcessor + + + + + tutorialscreen + TextureImporter + TextureProcessor + + + + + BombPowerup + TextureImporter + TextureProcessor + + + + + ClearSound + WavImporter + SoundEffectProcessor + + + + + SlowPowerup + TextureImporter + TextureProcessor + + + + + CrossPowerup + TextureImporter + TextureProcessor + + + + + CrossSound + WavImporter + SoundEffectProcessor + + + + + PowerupSpawn + WavImporter + SoundEffectProcessor + + + + + NoBlockPowerup + TextureImporter + TextureProcessor + + + + + NoBlockSound + WavImporter + SoundEffectProcessor + + + + + LifeUpSound + WavImporter + SoundEffectProcessor + + + + + SlowSound + WavImporter + SoundEffectProcessor + + + + + CreditsScreen + TextureImporter + TextureProcessor + + + + + AddBlockPowerup + TextureImporter + TextureProcessor + + + + + AddBlockSound + WavImporter + SoundEffectProcessor + + + + + False + Microsoft .NET Framework 4 %28x86 and x64%29 + true + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 3.5 SP1 + false + + + False + Windows Installer 3.1 + true + + + + + \ No newline at end of file diff --git a/SuperAwesomeMagnetGame/Content/SuperAwesomeMagnetGameContent.contentproj.user b/SuperAwesomeMagnetGame/Content/SuperAwesomeMagnetGameContent.contentproj.user new file mode 100644 index 0000000..e98b7a3 --- /dev/null +++ b/SuperAwesomeMagnetGame/Content/SuperAwesomeMagnetGameContent.contentproj.user @@ -0,0 +1,13 @@ + + + + + + + + + + en-US + false + + \ No newline at end of file diff --git a/SuperAwesomeMagnetGame/Content/obj/x86/Debug/Content.contentproj.FileListAbsolute.txt b/SuperAwesomeMagnetGame/Content/obj/x86/Debug/Content.contentproj.FileListAbsolute.txt new file mode 100644 index 0000000..bef99b0 --- /dev/null +++ b/SuperAwesomeMagnetGame/Content/obj/x86/Debug/Content.contentproj.FileListAbsolute.txt @@ -0,0 +1 @@ +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\Content\obj\x86\Debug\ResolveAssemblyReference.cache diff --git a/SuperAwesomeMagnetGame/Content/obj/x86/Debug/ContentPipeline.xml b/SuperAwesomeMagnetGame/Content/obj/x86/Debug/ContentPipeline.xml new file mode 100644 index 0000000..a8e5484 --- /dev/null +++ b/SuperAwesomeMagnetGame/Content/obj/x86/Debug/ContentPipeline.xml @@ -0,0 +1,371 @@ + + + + + Images\MagnaBoyWalkingSheet.bmp + Images\MagnaBoyWalkingSheet + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\MagnaBoyWalkingSheet.xnb + + + + Images\white-square-16x16.png + Images\white-square-16x16 + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\white-square-16x16.xnb + + + + Images\red-square-16x16.png + Images\red-square-16x16 + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\red-square-16x16.xnb + + + + Images\MagnaBoyHand.png + Images\MagnaBoyHand + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\MagnaBoyHand.xnb + + + + Images\NegativeMagnet.png + Images\NegativeMagnet + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\NegativeMagnet.xnb + + + + Images\PositiveMagnet.png + Images\PositiveMagnet + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\PositiveMagnet.xnb + + + + Images\Background.png + Images\Background + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\Background.xnb + + + + Images\RedEnemy.png + Images\RedEnemy + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\RedEnemy.xnb + + + + Images\BlueEnemy.png + Images\BlueEnemy + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\BlueEnemy.xnb + + + + Images\BlueEnemyAttack.png + Images\BlueEnemyAttack + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\BlueEnemyAttack.xnb + + + + Images\RedEnemyAttack.png + Images\RedEnemyAttack + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\RedEnemyAttack.xnb + + + + Images\Block.png + Images\Block + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\Block.xnb + + + + Images\EndScreen.png + Images\EndScreen + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\EndScreen.xnb + + + + Images\StartScreen.png + Images\StartScreen + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\StartScreen.xnb + + + + Images\LifePowerup.png + Images\LifePowerup + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\LifePowerup.xnb + + + + Images\WinScreen.png + Images\WinScreen + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\WinScreen.xnb + + + + Images\tutorialscreen.png + Images\tutorialscreen + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\tutorialscreen.xnb + + + + Images\BombPowerup.png + Images\BombPowerup + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\BombPowerup.xnb + + + + Images\SlowPowerup.png + Images\SlowPowerup + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\SlowPowerup.xnb + + + + Images\CrossPowerup.png + Images\CrossPowerup + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\CrossPowerup.xnb + + + + Images\NoBlockPowerup.png + Images\NoBlockPowerup + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\NoBlockPowerup.xnb + + + + Images\CreditsScreen.png + Images\CreditsScreen + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\CreditsScreen.xnb + + + + Images\AddBlockPowerup.png + Images\AddBlockPowerup + TextureImporter + TextureProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\AddBlockPowerup.xnb + + + + Fonts\Arial.spritefont + Fonts\Arial + FontDescriptionImporter + FontDescriptionProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Fonts\Arial.xnb + + + + Audio\HitSound.wav + Audio\HitSound + WavImporter + SoundEffectProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\HitSound.xnb + + + + Audio\KillSound.wav + Audio\KillSound + WavImporter + SoundEffectProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\KillSound.xnb + + + + Audio\ShootSound.wav + Audio\ShootSound + WavImporter + SoundEffectProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\ShootSound.xnb + + + + Audio\ReflectSound.wav + Audio\ReflectSound + WavImporter + SoundEffectProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\ReflectSound.xnb + + + + Audio\ClearSound.wav + Audio\ClearSound + WavImporter + SoundEffectProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\ClearSound.xnb + + + + Audio\CrossSound.wav + Audio\CrossSound + WavImporter + SoundEffectProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\CrossSound.xnb + + + + Audio\PowerupSpawn.wav + Audio\PowerupSpawn + WavImporter + SoundEffectProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\PowerupSpawn.xnb + + + + Audio\NoBlockSound.wav + Audio\NoBlockSound + WavImporter + SoundEffectProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\NoBlockSound.xnb + + + + Audio\LifeUpSound.wav + Audio\LifeUpSound + WavImporter + SoundEffectProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\LifeUpSound.xnb + + + + Audio\SlowSound.wav + Audio\SlowSound + WavImporter + SoundEffectProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\SlowSound.xnb + + + + Audio\AddBlockSound.wav + Audio\AddBlockSound + WavImporter + SoundEffectProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\AddBlockSound.xnb + + + + Audio\Background Music.mp3 + Audio\Background Music + Mp3Importer + SongProcessor + None + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\Background Music.xnb + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\Background Music.wma + + + true + + Windows + HiDef + Debug + false + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\Content\ + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\ + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\Content\obj\x86\Debug\ + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\ + + + + C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.XImporter.dll + 2010-08-23T12:41:18-07:00 + + + C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.VideoImporters.dll + 2010-08-23T12:41:18-07:00 + + + C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.TextureImporter.dll + 2010-08-23T12:41:18-07:00 + + + C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.FBXImporter.dll + 2010-08-23T12:41:18-07:00 + + + C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.EffectImporter.dll + 2010-08-23T12:41:18-07:00 + + + C:\Program Files (x86)\Microsoft XNA\XNA Game Studio\v4.0\References\Windows\x86\Microsoft.Xna.Framework.Content.Pipeline.AudioImporters.dll + 2010-08-23T12:41:18-07:00 + + + C:\Windows\Microsoft.Net\assembly\GAC_32\Microsoft.Xna.Framework.Content.Pipeline\v4.0_4.0.0.0__842cf8be1de50553\Microsoft.Xna.Framework.Content.Pipeline.dll + 2012-07-12T22:43:31.951177-07:00 + + + + \ No newline at end of file diff --git a/SuperAwesomeMagnetGame/Content/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SuperAwesomeMagnetGame/Content/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..ad5a6d2 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/SuperAwesomeMagnetGame/Content/obj/x86/Debug/ResolveAssemblyReference.cache b/SuperAwesomeMagnetGame/Content/obj/x86/Debug/ResolveAssemblyReference.cache new file mode 100644 index 0000000..b76b340 Binary files /dev/null and b/SuperAwesomeMagnetGame/Content/obj/x86/Debug/ResolveAssemblyReference.cache differ diff --git a/SuperAwesomeMagnetGame/Content/obj/x86/Debug/SuperAwesomeMagnetGameContent.contentproj.FileListAbsolute.txt b/SuperAwesomeMagnetGame/Content/obj/x86/Debug/SuperAwesomeMagnetGameContent.contentproj.FileListAbsolute.txt new file mode 100644 index 0000000..976de9b --- /dev/null +++ b/SuperAwesomeMagnetGame/Content/obj/x86/Debug/SuperAwesomeMagnetGameContent.contentproj.FileListAbsolute.txt @@ -0,0 +1 @@ +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\Content\obj\x86\Debug\ResolveAssemblyReference.cache diff --git a/SuperAwesomeMagnetGame/EnemySprite.cs b/SuperAwesomeMagnetGame/EnemySprite.cs new file mode 100644 index 0000000..2cf39be --- /dev/null +++ b/SuperAwesomeMagnetGame/EnemySprite.cs @@ -0,0 +1,73 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace SuperAwesomeMagnetGame +{ + class EnemySprite : Sprite + { + public EnemySprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue) { } + + public EnemySprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, int millisecondsPerFrame) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, millisecondsPerFrame) { } + + public EnemySprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, float scale) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, scale) { } + + public EnemySprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, Charge charge) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, charge) { } + + public Charge Polarity + { + get { return charge; } + } + + public int PointValue + { + get { return pointValue; } + } + + public Vector2 Position + { + get { return position; } + set { position = value; } + } + + public Vector2 Speed + { + get { return speed; } + set { speed = value; } + } + + public override Vector2 Direction + { + get { return speed; } + } + + public override void Update(GameTime gameTime, Rectangle clientBounds) + { + position += Direction; + + if (position.X < 0) speed.X = -speed.X; + if (position.Y < 0) speed.Y = -speed.Y; + if (position.X > 1024 - frameSize.X) speed.X = -speed.X; + if (position.Y > 768 - frameSize.Y) speed.Y = -speed.Y; + } + } +} diff --git a/SuperAwesomeMagnetGame/Game.ico b/SuperAwesomeMagnetGame/Game.ico new file mode 100644 index 0000000..8cff41e Binary files /dev/null and b/SuperAwesomeMagnetGame/Game.ico differ diff --git a/SuperAwesomeMagnetGame/Game1.cs b/SuperAwesomeMagnetGame/Game1.cs new file mode 100644 index 0000000..3492d3f --- /dev/null +++ b/SuperAwesomeMagnetGame/Game1.cs @@ -0,0 +1,247 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Audio; +using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.GamerServices; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; +using Microsoft.Xna.Framework.Media; +using Microsoft.Xna.Framework.Net; +using Microsoft.Xna.Framework.Storage; + +namespace SuperAwesomeMagnetGame +{ + /// + /// This is the main type for your game + /// + public class Game1 : Microsoft.Xna.Framework.Game + { + GraphicsDeviceManager graphics; + SpriteBatch spriteBatch; + SpriteManager spriteManager; + bool tButtonPressed = false; + bool cButtonPressed = false; + public enum GameState { StartGame, Tutorial, Credits, InGame, EndGame, WinGame }; + GameState currentGameState = GameState.StartGame; + public SpriteManager.EndState status; + Background endBack; + Background startBack; + Background tutorialBack; + Background winBack; + Background creditsBack; + SpriteFont endStats; + Song backgroundMusic; + + public Game1() + { + graphics = new GraphicsDeviceManager(this); + Content.RootDirectory = "Content"; + } + + /// + /// Allows the game to perform any initialization it needs to before starting to run. + /// This is where it can query for any required services and load any non-graphic + /// related content. Calling base.Initialize will enumerate through any components + /// and initialize them as well. + /// + protected override void Initialize() + { + graphics.PreferredBackBufferWidth = 1024; + graphics.PreferredBackBufferHeight = 768; + graphics.ApplyChanges(); + + spriteManager = new SpriteManager(this); + Components.Add(spriteManager); + spriteManager.Enabled = false; + spriteManager.Visible = false; + + base.Initialize(); + } + + /// + /// LoadContent will be called once per game and is the place to load + /// all of your content. + /// + protected override void LoadContent() + { + // Create a new SpriteBatch, which can be used to draw textures. + spriteBatch = new SpriteBatch(GraphicsDevice); + + endBack = new Background(Content.Load(@"Images/EndScreen"), new Vector2(25, 25), + new Point(1024, 768), 0, new Point(0, 0), new Point(1, 1), Vector2.Zero, 0); + startBack = new Background(Content.Load(@"Images/StartScreen"), new Vector2(25, 25), + new Point(1024, 768), 0, new Point(0, 0), new Point(1, 1), Vector2.Zero, 0); + tutorialBack = new Background(Content.Load(@"Images/tutorialscreen"), new Vector2(25, 25), + new Point(1024, 768), 0, new Point(0, 0), new Point(1, 1), Vector2.Zero, 0); + winBack = new Background(Content.Load(@"Images/WinScreen"), new Vector2(25, 25), + new Point(1024, 768), 0, new Point(0, 0), new Point(1, 1), Vector2.Zero, 0); + creditsBack = new Background(Content.Load(@"Images/CreditsScreen"), new Vector2(25, 25), + new Point(1024, 768), 0, new Point(0, 0), new Point(1, 1), Vector2.Zero, 0); + + backgroundMusic = Content.Load(@"Audio/Background Music"); + MediaPlayer.Play(backgroundMusic); + MediaPlayer.IsRepeating = true; + + endStats = Content.Load(@"fonts/arial"); + } + + /// + /// UnloadContent will be called once per game and is the place to unload + /// all content. + /// + protected override void UnloadContent() + { + // TODO: Unload any non ContentManager content here + } + + /// + /// Allows the game to run logic such as updating the world, + /// checking for collisions, gathering input, and playing audio. + /// + /// Provides a snapshot of timing values. + protected override void Update(GameTime gameTime) + { + // Allows the game to exit + if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed) + this.Exit(); + if (Keyboard.GetState().IsKeyDown(Keys.Escape)) this.Exit(); + + switch (currentGameState) + { + case GameState.StartGame: + startBack.Update(gameTime, Window.ClientBounds); + if (Keyboard.GetState().IsKeyDown(Keys.N)) + { + currentGameState = GameState.InGame; + spriteManager.Enabled = true; + spriteManager.Visible = true; + } + if (Keyboard.GetState().IsKeyDown(Keys.T)) tButtonPressed = true; + if (Keyboard.GetState().IsKeyUp(Keys.T) && tButtonPressed) + { + tButtonPressed = false; + currentGameState = GameState.Tutorial; + } + if (Keyboard.GetState().IsKeyDown(Keys.C)) cButtonPressed = true; + if (Keyboard.GetState().IsKeyUp(Keys.C) && cButtonPressed) + { + cButtonPressed = false; + currentGameState = GameState.Credits; + } + if (Keyboard.GetState().IsKeyDown(Keys.Escape)) this.Exit(); + break; + case GameState.Tutorial: + tutorialBack.Update(gameTime, Window.ClientBounds); + if (Keyboard.GetState().GetPressedKeys().Length > 0) tButtonPressed = true; + if (Keyboard.GetState().GetPressedKeys().Length == 0 && tButtonPressed) + { + tButtonPressed = false; + currentGameState = GameState.StartGame; + } + break; + case GameState.Credits: + creditsBack.Update(gameTime, Window.ClientBounds); + if (Keyboard.GetState().GetPressedKeys().Length > 0) cButtonPressed = true; + if (Keyboard.GetState().GetPressedKeys().Length == 0 && cButtonPressed) + { + cButtonPressed = false; + currentGameState = GameState.StartGame; + } + break; + case GameState.InGame: + if (spriteManager.currentNumberOfLives == 0) + { + currentGameState = GameState.EndGame; + spriteManager.Enabled = false; + spriteManager.Visible = false; + } + if (spriteManager.currentLevel == 11) + { + currentGameState = GameState.WinGame; + spriteManager.Enabled = false; + spriteManager.Visible = false; + } + break; + case GameState.EndGame: + endBack.Update(gameTime, Window.ClientBounds); + if (Keyboard.GetState().IsKeyDown(Keys.M)) tButtonPressed = true; + if (Keyboard.GetState().IsKeyUp(Keys.M) && tButtonPressed) + { + tButtonPressed = false; + currentGameState = GameState.StartGame; + spriteManager.currentNumberOfLives = 3; + spriteManager.currentLevel = 1; + spriteManager.restart = true; + } + break; + case GameState.WinGame: + winBack.Update(gameTime, Window.ClientBounds); + if (Keyboard.GetState().IsKeyDown(Keys.M)) tButtonPressed = true; + if (Keyboard.GetState().IsKeyUp(Keys.M) && tButtonPressed) + { + tButtonPressed = false; + currentGameState = GameState.StartGame; + spriteManager.currentNumberOfLives = 3; + spriteManager.currentLevel = 1; + spriteManager.restart = true; + } + break; + } + base.Update(gameTime); + } + + protected override void Draw(GameTime gameTime) + { + switch (currentGameState) + { + case GameState.StartGame: + GraphicsDevice.Clear(Color.White); + spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend); + startBack.Draw(gameTime, spriteBatch); + spriteBatch.End(); + break; + case GameState.Tutorial: + GraphicsDevice.Clear(Color.White); + spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend); + tutorialBack.Draw(gameTime, spriteBatch); + spriteBatch.End(); + break; + case GameState.Credits: + GraphicsDevice.Clear(Color.White); + spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend); + creditsBack.Draw(gameTime, spriteBatch); + spriteBatch.End(); + break; + case GameState.InGame: + GraphicsDevice.Clear(Color.CornflowerBlue); + break; + case GameState.EndGame: + GraphicsDevice.Clear(Color.White); + spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend); + endBack.Draw(gameTime, spriteBatch); + spriteBatch.DrawString(endStats, + "You DIED with a score of " + spriteManager.currentScore + " at level " + spriteManager.currentLevel, + new Vector2(345, 450), Color.White, 0, Vector2.Zero, 1, SpriteEffects.None, 1); + spriteBatch.DrawString(endStats, + "Press M to access the menu or ESC to quit", + new Vector2(330, 485), Color.White, 0, Vector2.Zero, 1, SpriteEffects.None, 1); + spriteBatch.End(); + break; + case GameState.WinGame: + spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend); + winBack.Draw(gameTime, spriteBatch); + spriteBatch.DrawString(endStats, + "You managed to beat the game with a score of " + spriteManager.currentScore + " !", + new Vector2(285, 450), Color.White, 0, Vector2.Zero, 1, SpriteEffects.None, 1); + spriteBatch.DrawString(endStats, + "Press M to access the menu or ESC to quit", + new Vector2(330, 485), Color.White, 0, Vector2.Zero, 1, SpriteEffects.None, 1); + spriteBatch.End(); + break; + } + base.Draw(gameTime); + } + } +} diff --git a/SuperAwesomeMagnetGame/GameThumbnail.png b/SuperAwesomeMagnetGame/GameThumbnail.png new file mode 100644 index 0000000..462311a Binary files /dev/null and b/SuperAwesomeMagnetGame/GameThumbnail.png differ diff --git a/SuperAwesomeMagnetGame/Magnet.cs b/SuperAwesomeMagnetGame/Magnet.cs new file mode 100644 index 0000000..4f7bc42 --- /dev/null +++ b/SuperAwesomeMagnetGame/Magnet.cs @@ -0,0 +1,67 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace SuperAwesomeMagnetGame +{ + class Magnet : Sprite + { + Vector2 origin = new Vector2(20, 20); + + public Magnet(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue) { } + + public Magnet(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, int millisecondsPerFrame) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, millisecondsPerFrame) { } + + public Magnet(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, Charge charge) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, charge) { } + + public Charge Polarity + { + get { return charge; } + } + + public Vector2 Position + { + get { return position; } + } + + public Vector2 Speed + { + get { return speed; } + set { speed = value; } + } + + public override Vector2 Direction + { + get + { + KeyboardState MagnetInput = Keyboard.GetState(); + if (MagnetInput.IsKeyDown(Keys.W)) speed.Y--; + if (MagnetInput.IsKeyDown(Keys.S)) speed.Y++; + return speed; + } + } + + public override void Update(GameTime gameTime, Rectangle clientBounds) + { + position += Direction; + + base.Update(gameTime, clientBounds); + } + } +} diff --git a/SuperAwesomeMagnetGame/PlayerLeftHandSprite.cs b/SuperAwesomeMagnetGame/PlayerLeftHandSprite.cs new file mode 100644 index 0000000..a95aecb --- /dev/null +++ b/SuperAwesomeMagnetGame/PlayerLeftHandSprite.cs @@ -0,0 +1,85 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace SuperAwesomeMagnetGame +{ + class PlayerLeftHandSprite : PlayerSprite + { + Vector2 boundsOffset = new Vector2(120, 55); + + public SpriteEffects HandFlip { get; set; } + + public PlayerLeftHandSprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue) { } + + public PlayerLeftHandSprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, int millisecondsPerFrame) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, millisecondsPerFrame) { } + + //public Vector2 Position + //{ + // get { return position; } + // set { position = value; } + //} + + public override Vector2 Direction + { + get + { + Vector2 inputDirection = Vector2.Zero; + KeyboardState HandInput = Keyboard.GetState(); + if (HandInput.IsKeyDown(Keys.Left)) + { + inputDirection.X -= 1; + } + if (HandInput.IsKeyDown(Keys.Right)) + { + inputDirection.X += 1; + } + if (HandInput.IsKeyDown(Keys.Up)) + { + inputDirection.Y -= 1; + } + if (HandInput.IsKeyDown(Keys.Down)) + { + inputDirection.Y += 1; + } + + GamePadState padState = GamePad.GetState(PlayerIndex.One); + if (padState.ThumbSticks.Left.X != 0) inputDirection.X += padState.ThumbSticks.Left.X; + if (padState.ThumbSticks.Left.Y != 0) inputDirection.Y += padState.ThumbSticks.Left.Y; + + return inputDirection * speed; + } + } + + public override void Update(GameTime gameTime, Rectangle clientBounds) + { + KeyboardState HandStates = Keyboard.GetState(); + + position += Direction; + + if (position.X < -30) position.X = -30; + if (position.Y < boundsOffset.Y) position.Y = boundsOffset.Y; + if (position.X > 874) position.X = 874; + if (position.Y > 768 - frameSize.Y) position.Y = 768 - frameSize.Y; + } + + public override void Draw(GameTime gameTime, SpriteBatch spriteBatch) + { + spriteBatch.Draw(image, position, new Rectangle(currentFrame.X * frameSize.X, + currentFrame.Y * frameSize.Y, frameSize.X, frameSize.Y), Color.White, 0, + new Vector2(25, 25), 1f, HandFlip, 1f); + } + } +} diff --git a/SuperAwesomeMagnetGame/PlayerRightHandSprite.cs b/SuperAwesomeMagnetGame/PlayerRightHandSprite.cs new file mode 100644 index 0000000..dc227f5 --- /dev/null +++ b/SuperAwesomeMagnetGame/PlayerRightHandSprite.cs @@ -0,0 +1,86 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace SuperAwesomeMagnetGame +{ + class PlayerRightHandSprite : PlayerSprite + { + Vector2 boundsOffset = new Vector2(120, 55); + float rotationAngle = 0.0f; + + public SpriteEffects HandFlip { get; set; } + + public PlayerRightHandSprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue) { } + + public PlayerRightHandSprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, int millisecondsPerFrame) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, millisecondsPerFrame) { } + + //public Vector2 Position + //{ + // get { return position; } + // set { position = value; } + //} + + public override Vector2 Direction + { + get + { + Vector2 inputDirection = Vector2.Zero; + KeyboardState HandInput = Keyboard.GetState(); + if (HandInput.IsKeyDown(Keys.Left)) + { + inputDirection.X -= 1; + } + if (HandInput.IsKeyDown(Keys.Right)) + { + inputDirection.X += 1; + } + if (HandInput.IsKeyDown(Keys.Up)) + { + inputDirection.Y -= 1; + } + if (HandInput.IsKeyDown(Keys.Down)) + { + inputDirection.Y += 1; + } + + GamePadState padState = GamePad.GetState(PlayerIndex.One); + if (padState.ThumbSticks.Left.X != 0) inputDirection.X += padState.ThumbSticks.Left.X; + if (padState.ThumbSticks.Left.Y != 0) inputDirection.Y += padState.ThumbSticks.Left.Y; + + return inputDirection * speed; + } + } + + public override void Update(GameTime gameTime, Rectangle clientBounds) + { + KeyboardState HandStates = Keyboard.GetState(); + + Position += Direction; + + if (position.X < 150) position.X = 150; + if (position.Y < boundsOffset.Y) position.Y = boundsOffset.Y; + if (position.X > 1054) position.X = 1054; + if (position.Y > 768 - frameSize.Y) position.Y = 768 - frameSize.Y; + } + + public override void Draw(GameTime gameTime, SpriteBatch spriteBatch) + { + spriteBatch.Draw(image, position, new Rectangle(currentFrame.X * frameSize.X, + currentFrame.Y * frameSize.Y, frameSize.X, frameSize.Y), Color.White, rotationAngle, + new Vector2(25, 25), 1f, HandFlip, 1f); + } + } +} diff --git a/SuperAwesomeMagnetGame/PlayerSprite.cs b/SuperAwesomeMagnetGame/PlayerSprite.cs new file mode 100644 index 0000000..5fd0712 --- /dev/null +++ b/SuperAwesomeMagnetGame/PlayerSprite.cs @@ -0,0 +1,187 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; + +namespace SuperAwesomeMagnetGame +{ + class PlayerSprite : Sprite + { + Point Facing = new Point(); + int chargeChange; + bool isFacingRight = true, isMoving = false; + bool directionChangeIndex = true; + bool chargeChangeIndex = false; + bool isPositive = false; + bool charge_button_pressed = false; + + public PlayerSprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue) { } + + public PlayerSprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, int millisecondsPerFrame) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, millisecondsPerFrame) { } + + public bool Shoot { get; set; } + + public bool Release { get; set; } + + public bool IsPositive + { + get { return isPositive; } + set { isPositive = value; } + } + + public bool IsFacingRight + { + get { return isFacingRight; } + set { isFacingRight = value; } + } + + public Vector2 Position + { + get { return position; } + set { position = value; } + } + + public Vector2 Speed + { + get { return speed; } + set { speed = value; } + } + + public override Vector2 Direction + { + get + { + Vector2 inputDirection = Vector2.Zero; + KeyboardState States = Keyboard.GetState(); + if (States.IsKeyDown(Keys.Left)) + { + inputDirection.X -= 1; + isMoving = true; + IsFacingRight = false; + } + if (States.IsKeyDown(Keys.Right)) + { + inputDirection.X += 1; + isMoving = true; + IsFacingRight = true; + } + if (States.IsKeyDown(Keys.Up)) + { + inputDirection.Y -= 1; + isMoving = true; + } + if (States.IsKeyDown(Keys.Down)) + { + inputDirection.Y += 1; + isMoving = true; + } + + GamePadState padState = GamePad.GetState(PlayerIndex.One); + if (padState.ThumbSticks.Left.X != 0) inputDirection.X += padState.ThumbSticks.Left.X; + if (padState.ThumbSticks.Left.Y != 0) inputDirection.Y += padState.ThumbSticks.Left.Y; + + return inputDirection * speed; + } + } + + public Point UpdateFacing() + { + if (IsFacingRight) + { + Facing.X = 0 + chargeChange; + Facing.Y = 2 + chargeChange; + } + if (!IsFacingRight) + { + Facing.X = 2 + chargeChange; + Facing.Y = 4 + chargeChange; + } + return Facing; + } + + public override void Update(GameTime gameTime, Rectangle clientBounds) + { + KeyboardState States = Keyboard.GetState(); + + if (States.IsKeyDown(Keys.Space)) Shoot = true; + if (States.IsKeyUp(Keys.Space) && Shoot) Release = true; + + if (States.IsKeyDown(Keys.LeftShift) || States.IsKeyDown(Keys.RightShift)) charge_button_pressed = true; + if ((States.IsKeyUp(Keys.LeftShift) && States.IsKeyUp(Keys.RightShift)) && charge_button_pressed) + { + charge_button_pressed = false; + if (IsPositive) + { + IsPositive = false; + chargeChange = 0; + } + else if (!IsPositive) + { + IsPositive = true; + chargeChange = 4; + } + } + + position += Direction; + UpdateFacing(); + + if ((directionChangeIndex && !IsFacingRight) || (!directionChangeIndex && IsFacingRight)) + { + directionChangeIndex = IsFacingRight; + currentFrame.X = 0; + currentFrame.Y = Facing.X; + } + + if ((chargeChangeIndex && !IsPositive) || (!chargeChangeIndex && IsPositive)) + { + chargeChangeIndex = IsPositive; + currentFrame.X = 0; + currentFrame.Y = Facing.X; + } + + if (position.X < 0) position.X = 0; + if (position.Y < 0) position.Y = 0; + if (position.X > 1024 - frameSize.X) position.X = 1024 - frameSize.X; + if (position.Y > 768 - frameSize.Y) position.Y = 768 - frameSize.Y; + + if (isMoving) + { + isMoving = false; + ++timeSinceLastFrame; + if (timeSinceLastFrame == 2) + { + timeSinceLastFrame = 0; + + ++currentFrame.X; + if (currentFrame.X >= sheetSize.X) + { + currentFrame.X = 0; + ++currentFrame.Y; + if (currentFrame.Y >= Facing.Y) + currentFrame.Y = Facing.X; + } + } + } + } + + public override void Draw(GameTime gameTime, SpriteBatch spriteBatch) + { + spriteBatch.Draw(image, position, new Rectangle(currentFrame.X * frameSize.X, + currentFrame.Y * frameSize.Y, frameSize.X, frameSize.Y), Color.White, 0f, + Vector2.Zero, 1f, SpriteEffects.None, 0); + + base.Draw(gameTime, spriteBatch); + } + } +} diff --git a/SuperAwesomeMagnetGame/PowerupSprite.cs b/SuperAwesomeMagnetGame/PowerupSprite.cs new file mode 100644 index 0000000..fae21ea --- /dev/null +++ b/SuperAwesomeMagnetGame/PowerupSprite.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace SuperAwesomeMagnetGame +{ + class PowerupSprite : Sprite + { + public PowerupSprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue) { } + + public PowerupSprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, int millisecondsPerFrame) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, millisecondsPerFrame) { } + + public PowerupSprite(Texture2D image, Vector2 position, + Point frameSize, int collisionOffset, Point currentFrame, + Point sheetSize, Vector2 speed, int pointValue, PowerType powerType, int countdown) + : base(image, position, frameSize, collisionOffset, currentFrame, sheetSize, + speed, pointValue, powerType, countdown) { } + + public int Countdown + { + get { return countdown; } + set { countdown = value; } + } + + public Sprite.PowerType Type { get { return powerType; } } + + public override Vector2 Direction { get { return speed; } } + + public override void Update(GameTime gameTime, Rectangle clientBounds) + { + position += Direction; + + if (position.X < 0) speed.X = -speed.X; + if (position.Y < 0) speed.Y = -speed.Y; + if (position.X > 1024 - frameSize.X) speed.X = -speed.X; + if (position.Y > 768 - frameSize.Y) speed.Y = -speed.Y; + } + } +} diff --git a/SuperAwesomeMagnetGame/Program.cs b/SuperAwesomeMagnetGame/Program.cs new file mode 100644 index 0000000..bcf7950 --- /dev/null +++ b/SuperAwesomeMagnetGame/Program.cs @@ -0,0 +1,19 @@ +using System; + +namespace SuperAwesomeMagnetGame +{ + static class Program + { + /// + /// The main entry point for the application. + /// + static void Main(string[] args) + { + using (Game1 game = new Game1()) + { + game.Run(); + } + } + } +} + diff --git a/SuperAwesomeMagnetGame/Properties/AssemblyInfo.cs b/SuperAwesomeMagnetGame/Properties/AssemblyInfo.cs new file mode 100644 index 0000000..9f0ed54 --- /dev/null +++ b/SuperAwesomeMagnetGame/Properties/AssemblyInfo.cs @@ -0,0 +1,33 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("SuperAwesomeMagnetGame")] +[assembly: AssemblyProduct("SuperAwesomeMagnetGame")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyCompany("")] + +[assembly: AssemblyCopyright("Copyright © 2009")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("94bee012-5879-49b2-893b-3ef024f2f5e1")] + + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +[assembly: AssemblyVersion("1.0.0.0")] diff --git a/SuperAwesomeMagnetGame/Sprite.cs b/SuperAwesomeMagnetGame/Sprite.cs new file mode 100644 index 0000000..3128202 --- /dev/null +++ b/SuperAwesomeMagnetGame/Sprite.cs @@ -0,0 +1,102 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Graphics; + +namespace SuperAwesomeMagnetGame +{ + abstract class Sprite + { + const int defaultMillisecondsPerFrame = 16; + public enum Charge { positive, negative, neutral }; + public enum PowerType { life, bomb, slow, cross, noblock, addblock }; + + protected Texture2D image; + protected Vector2 position; + protected Vector2 speed; + protected Point sheetSize; + protected Point frameSize; + protected Point currentFrame; + protected int timeSinceLastFrame = 0; + protected int millisecondsPerFrame; + protected int pointValue; + protected int countdown; + protected PowerType powerType; + protected float scale = 1; + protected Charge charge; + int collisionOffset; + + public Sprite(Texture2D image, Vector2 position, Point frameSize, + int collisionOffset, Point currentFrame, Point sheetSize, Vector2 speed, int pointValue) + : this(image, position, frameSize, collisionOffset, + currentFrame, sheetSize, speed, pointValue, defaultMillisecondsPerFrame) { } + + public Sprite(Texture2D image, Vector2 position, Point frameSize, + int collisionOffset, Point currentFrame, Point sheetSize, Vector2 speed, + int pointValue, int millisecondsPerFrame) + { + this.image = image; + this.position = position; + this.frameSize = frameSize; + this.collisionOffset = collisionOffset; + this.currentFrame = currentFrame; + this.sheetSize = sheetSize; + this.speed = speed; + this.pointValue = pointValue; + this.millisecondsPerFrame = millisecondsPerFrame; + } + + public Sprite(Texture2D image, Vector2 position, Point frameSize, int collisionOffset, + Point currentFrame, Point sheetSize, Vector2 speed, int pointValue, float scale) + : this(image, position, frameSize, collisionOffset, currentFrame, sheetSize, speed, + pointValue, defaultMillisecondsPerFrame) { this.scale = scale; } + + public Sprite(Texture2D image, Vector2 position, Point frameSize, int collisionOffset, + Point currentFrame, Point sheetSize, Vector2 speed, int pointValue, Charge charge) + : this(image, position, frameSize, collisionOffset, currentFrame, sheetSize, speed, + pointValue, defaultMillisecondsPerFrame) { this.charge = charge; } + + public Sprite(Texture2D image, Vector2 position, Point frameSize, int collisionOffset, + Point currentFrame, Point sheetSize, Vector2 speed, int pointValue, PowerType powerType, int countdown) + : this(image, position, frameSize, collisionOffset, currentFrame, sheetSize, speed, + pointValue, defaultMillisecondsPerFrame) { this.powerType = powerType; this.countdown = countdown; } + + public virtual void Update(GameTime gameTime, Rectangle clientBounds) + { + timeSinceLastFrame += gameTime.ElapsedGameTime.Milliseconds; + if (timeSinceLastFrame > millisecondsPerFrame) + { + timeSinceLastFrame = 0; + ++currentFrame.X; + if (currentFrame.X >= sheetSize.X) + { + currentFrame.X = 0; + ++currentFrame.Y; + if (currentFrame.Y >= sheetSize.Y) + currentFrame.Y = 0; + } + } + } + + public virtual void Draw(GameTime gameTime, SpriteBatch spriteBatch) + { + spriteBatch.Draw(image, position, new Rectangle(currentFrame.X * frameSize.X, + currentFrame.Y * frameSize.Y, frameSize.X, frameSize.Y), Color.White, 0, + Vector2.Zero, scale, SpriteEffects.None, 1f); + } + + public abstract Vector2 Direction { get; } + + public Rectangle CollisionRect + { + get + { + return new Rectangle((int)position.X + collisionOffset, + (int)position.Y + collisionOffset, frameSize.X - (collisionOffset * 2), + frameSize.Y - (collisionOffset * 2)); + } + } + } +} diff --git a/SuperAwesomeMagnetGame/SpriteManager.cs b/SuperAwesomeMagnetGame/SpriteManager.cs new file mode 100644 index 0000000..36dbcac --- /dev/null +++ b/SuperAwesomeMagnetGame/SpriteManager.cs @@ -0,0 +1,604 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using Microsoft.Xna.Framework; +using Microsoft.Xna.Framework.Audio; +using Microsoft.Xna.Framework.Content; +using Microsoft.Xna.Framework.GamerServices; +using Microsoft.Xna.Framework.Graphics; +using Microsoft.Xna.Framework.Input; +using Microsoft.Xna.Framework.Media; +using Microsoft.Xna.Framework.Net; +using Microsoft.Xna.Framework.Storage; + + +namespace SuperAwesomeMagnetGame +{ + public class SpriteManager : Microsoft.Xna.Framework.DrawableGameComponent + { + public SpriteManager(Game game) + : base(game) + { + // TODO: Construct any child components here + } + + SpriteBatch spriteBatch; + PlayerSprite player; + PlayerRightHandSprite playerRightHand; + PlayerLeftHandSprite playerLeftHand; + Background back1; + Background back2; + Background back3; + List spriteList = new List(); + List livesList = new List(); + List magnetList = new List(); + List backgroundList = new List(); + List blockList = new List(); + List powerupList = new List(); + SpriteFont score; + SpriteFont level; + Random random = new Random(); + SoundEffect Hit; + SoundEffectInstance HitInstance; + SoundEffect Kill; + SoundEffectInstance KillInstance; + SoundEffect Shoot; + SoundEffectInstance ShootInstance; + SoundEffect Reflect; + SoundEffectInstance ReflectInstance; + SoundEffect Clear; + SoundEffectInstance ClearInstance; + SoundEffect Cross; + SoundEffectInstance CrossInstance; + SoundEffect PowerupSpawn; + SoundEffectInstance PowerupSpawnInstance; + SoundEffect NoBlock; + SoundEffectInstance NoBlockSoundInstance; + SoundEffect LifeUp; + SoundEffectInstance LifeUpInstance; + SoundEffect SlowDown; + SoundEffectInstance SlowDownInstance; + SoundEffect AddBlock; + SoundEffectInstance AddBlockInstance; + + public int currentNumberOfLives = 3; + public int currentScore; + public int currentLevel = 1; + public int elapsedTime = 0; + public int occurTime = 240; + public bool isEffected = false; + public bool restart; + public bool[] shortcut = new bool[10]; + public enum EndState { win, lose }; + + public void AddScore(int score) + { + currentScore += score; + } + + public override void Initialize() + { + // TODO: Add your initialization code here + + base.Initialize(); + } + + protected override void LoadContent() + { + spriteBatch = new SpriteBatch(Game.GraphicsDevice); + + player = new PlayerSprite(Game.Content.Load(@"Images/MagnaBoyWalkingSheet"), + new Vector2((Game.Window.ClientBounds.Width / 2) - 60,(Game.Window.ClientBounds.Height / 2) - 52), + new Point(120, 105), 10, new Point(0, 0), new Point(8, 2), new Vector2(10, 10), 0); + + playerRightHand = new PlayerRightHandSprite(Game.Content.Load(@"Images/MagnaBoyHand"), + (player.Position + new Vector2(150, 50)), new Point(50, 50), 0, new Point(0, 0), + new Point(1, 1), new Vector2(10, 10), 0); + + playerLeftHand = new PlayerLeftHandSprite(Game.Content.Load(@"Images/MagnaBoyHand"), + (player.Position + new Vector2(-30, 50)), new Point(50, 50), 0, new Point(0, 0), + new Point(1, 1), new Vector2(10, 10), 0); + + back1 = new Background(Game.Content.Load(@"Images/Background"), new Vector2(25, 25), + new Point(1024, 768), 0, new Point(0, 0), new Point(1, 1), new Vector2(-5, 0), 0); + + back2 = new Background(Game.Content.Load(@"Images/Background"), + new Vector2(back1.Position.X + back1.FrameSize.X, 25), new Point(1024, 768), 0, + new Point(0, 0), new Point(1, 1), new Vector2(-5, 0), 0); + + back3 = new Background(Game.Content.Load(@"Images/Background"), + new Vector2(back2.Position.X + back2.FrameSize.X, 25), new Point(1024, 768), 0, + new Point(0, 0), new Point(1, 1), new Vector2(-5, 0), 0); + + score = Game.Content.Load(@"fonts/arial"); + level = Game.Content.Load(@"fonts/arial"); + + for (int i = 0; i < currentNumberOfLives; i++) + { + int space = 10 + i * 40; + livesList.Add(new EnemySprite(Game.Content.Load(@"Images/MagnaBoyWalkingSheet"), + new Vector2(space, 35), new Point(120, 105), 10, new Point(0, 0), new Point(1, 1), + Vector2.Zero, 0, .25f)); + } + + backgroundList.Add(back1); + backgroundList.Add(back2); + backgroundList.Add(back3); + + Hit = Game.Content.Load(@"Audio/HitSound"); + Shoot = Game.Content.Load(@"Audio/ShootSound"); + Kill = Game.Content.Load(@"Audio/KillSound"); + Reflect = Game.Content.Load(@"Audio/ReflectSound"); + Clear = Game.Content.Load(@"Audio/ClearSound"); + Cross = Game.Content.Load(@"Audio/CrossSound"); + PowerupSpawn = Game.Content.Load(@"Audio/PowerupSpawn"); + NoBlock = Game.Content.Load(@"Audio/NoBlockSound"); + LifeUp = Game.Content.Load(@"Audio/LifeUpSound"); + SlowDown = Game.Content.Load(@"Audio/SlowSound"); + AddBlock = Game.Content.Load(@"Audio/AddBlockSound"); + + base.LoadContent(); + } + + public override void Update(GameTime gameTime) + { + if (restart) + { + restart = false; + spriteList.Clear(); + magnetList.Clear(); + blockList.Clear(); + powerupList.Clear(); + player.Position = new Vector2((Game.Window.ClientBounds.Width / 2) - 60, (Game.Window.ClientBounds.Height / 2) - 52); + playerRightHand.Position = (player.Position + new Vector2(150, 50)); + playerLeftHand.Position = (player.Position + new Vector2(-30, 50)); + elapsedTime = 0; + } + + player.Update(gameTime, Game.Window.ClientBounds); + playerRightHand.Update(gameTime, Game.Window.ClientBounds); + playerLeftHand.Update(gameTime, Game.Window.ClientBounds); + + KeyboardState powerupStates = Keyboard.GetState(); + + if (powerupStates.IsKeyDown(Keys.D1)) shortcut[0] = true; + if (powerupStates.IsKeyDown(Keys.D2)) shortcut[1] = true; + if (powerupStates.IsKeyDown(Keys.D3)) shortcut[2] = true; + if (powerupStates.IsKeyDown(Keys.D4)) shortcut[3] = true; + if (powerupStates.IsKeyDown(Keys.D5)) shortcut[4] = true; + if (powerupStates.IsKeyDown(Keys.D6)) shortcut[5] = true; + if (powerupStates.IsKeyDown(Keys.D7)) shortcut[6] = true; + if (powerupStates.IsKeyDown(Keys.D8)) shortcut[7] = true; + if (powerupStates.IsKeyDown(Keys.D9)) shortcut[8] = true; + if (powerupStates.IsKeyDown(Keys.D0)) shortcut[9] = true; + if (powerupStates.IsKeyUp(Keys.D1) && shortcut[0] == true) + { + shortcut[0] = false; + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/LifePowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5,random.Next(11) - 5), 0, Sprite.PowerType.life, 360)); + } + if (powerupStates.IsKeyUp(Keys.D2) && shortcut[1] == true) + { + shortcut[1] = false; + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/BombPowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5, random.Next(11) - 5), 0, Sprite.PowerType.bomb, 360)); + } + if (powerupStates.IsKeyUp(Keys.D3) && shortcut[2] == true) + { + shortcut[2] = false; + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/SlowPowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5, random.Next(11) - 5), 0, Sprite.PowerType.slow, 360)); + } + if (powerupStates.IsKeyUp(Keys.D4) && shortcut[3] == true) + { + shortcut[3] = false; + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/CrossPowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5, random.Next(11) - 5), 0, Sprite.PowerType.cross, 360)); + } + if (powerupStates.IsKeyUp(Keys.D5) && shortcut[4] == true) + { + shortcut[4] = false; + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/NoBlockPowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5, random.Next(11) - 5), 0, Sprite.PowerType.noblock, 360)); + } + if (powerupStates.IsKeyUp(Keys.D6) && shortcut[5] == true) + { + shortcut[5] = false; + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/AddBlockPowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5, random.Next(11) - 5), 0, Sprite.PowerType.addblock, 360)); + } + if (powerupStates.IsKeyUp(Keys.D7) && shortcut[6] == true) + { + shortcut[6] = false; + currentLevel++; + } + if (powerupStates.IsKeyUp(Keys.D8) && shortcut[7] == true && currentLevel > 1) + { + shortcut[7] = false; + currentLevel--; + } + if (powerupStates.IsKeyUp(Keys.D9) && shortcut[8] == true) + { + shortcut[8] = false; + spriteList.Add(new EnemySprite(Game.Content.Load(@"Images/BlueEnemy"), + new Vector2(1024-50, random.Next(718)), new Point(50, 50), 5, + new Point(0, 0), new Point(1, 1), new Vector2(-(random.Next(5) + 1), random.Next(5) + 1), + 100, Sprite.Charge.positive)); + } + if (powerupStates.IsKeyUp(Keys.D0) && shortcut[9] == true) + { + shortcut[9] = false; + spriteList.Add(new EnemySprite(Game.Content.Load(@"Images/RedEnemy"), + new Vector2(1024-50, random.Next(718)), new Point(50, 50), 5, + new Point(0, 0), new Point(1, 1), new Vector2(-(random.Next(5) + 1), (random.Next(13) - 6)), + 100, Sprite.Charge.negative)); + } + + foreach (Sprite s in spriteList) s.Update(gameTime, Game.Window.ClientBounds); + foreach (Background b in backgroundList) b.Update(gameTime, Game.Window.ClientBounds); + foreach (Magnet m in magnetList) m.Update(gameTime, Game.Window.ClientBounds); + foreach (EnemySprite l in livesList) l.Update(gameTime, Game.Window.ClientBounds); + foreach (BlockSprite bs in blockList) bs.Update(gameTime, Game.Window.ClientBounds); + foreach (PowerupSprite p in powerupList) p.Update(gameTime, Game.Window.ClientBounds); + + if (player.Release) + { + player.Release = false; + player.Shoot = false; + if (!player.IsPositive) + { + if (player.IsFacingRight) + magnetList.Add(new Magnet(Game.Content.Load(@"Images/NegativeMagnet"), + playerRightHand.Position + new Vector2(0, -25), new Point(40, 40), 0, new Point(0, 0), + new Point(1, 1), new Vector2(20, 0), 0, Sprite.Charge.negative)); + else + magnetList.Add(new Magnet(Game.Content.Load(@"Images/NegativeMagnet"), + playerLeftHand.Position + new Vector2(-50, -25), new Point(40, 40), 0, new Point(0, 0), + new Point(1, 1), new Vector2(-20, 0), 0, Sprite.Charge.negative)); + } + else if (player.IsPositive) + { + if (player.IsFacingRight) + magnetList.Add(new Magnet(Game.Content.Load(@"Images/PositiveMagnet"), + playerRightHand.Position + new Vector2(0, -25), new Point(40, 40), 0, new Point(0, 0), + new Point(1, 1), new Vector2(20, 0), 0, Sprite.Charge.positive)); + else + magnetList.Add(new Magnet(Game.Content.Load(@"Images/PositiveMagnet"), + playerLeftHand.Position + new Vector2(-50, -25), new Point(40, 40), 0, new Point(0, 0), + new Point(1, 1), new Vector2(-20, 0), 0, Sprite.Charge.positive)); + } + ShootInstance = Shoot.CreateInstance(); + ShootInstance.Play(); + } + + if (!player.IsFacingRight) playerLeftHand.HandFlip = SpriteEffects.FlipHorizontally; + if (back1.Position.X < -back1.FrameSize.X) back1.Position = new Vector2(back3.Position.X + back3.FrameSize.X, 25); + if (back2.Position.X < -back2.FrameSize.X) back2.Position = new Vector2(back1.Position.X + back1.FrameSize.X, 25); + if (back3.Position.X < -back3.FrameSize.X) back3.Position = new Vector2(back2.Position.X + back2.FrameSize.X, 25); + + elapsedTime++; + if (elapsedTime == 3600) + { + elapsedTime = 0; + currentLevel++; + blockList.Add(new BlockSprite(Game.Content.Load(@"Images/Block"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), new Vector2(random.Next(5) - 2, random.Next(5) - 2), 0)); + } + if (elapsedTime % ((currentLevel + 1) * 60) == 0) + { + for (int i = 0; i < currentLevel; i++) + { + int index = random.Next(2) + 1; + int side = random.Next(2) + 1; + if (side == 1) side = 0; else side = Game.Window.ClientBounds.Width - 50; + if (index == 1) spriteList.Add(new EnemySprite(Game.Content.Load(@"Images/BlueEnemy"), + new Vector2(side, random.Next(718)), new Point(50, 50), 5, + new Point(0, 0), new Point(1, 1), new Vector2(-(random.Next(5) + 1), random.Next(5) + 1), + 100, Sprite.Charge.positive)); + else spriteList.Add(new EnemySprite(Game.Content.Load(@"Images/RedEnemy"), + new Vector2(side, random.Next(718)), new Point(50, 50), 5, + new Point(0, 0), new Point(1, 1), new Vector2(-(random.Next(5) + 1), (random.Next(13) - 6)), + 100, Sprite.Charge.negative)); + } + } + if (elapsedTime % 600 == 0) + { + int releaseChoice = random.Next(2); + if (releaseChoice == 0) + { + int releaseType = random.Next(6); + if (releaseType == 0) + { + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/LifePowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5,random.Next(11) - 5), 0, Sprite.PowerType.life, 360)); + } + else if (releaseType == 1) + { + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/BombPowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5, random.Next(11) - 5), 0, Sprite.PowerType.bomb, 360)); + } + else if (releaseType == 2) + { + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/SlowPowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5, random.Next(11) - 5), 0, Sprite.PowerType.slow, 360)); + } + else if (releaseType == 3) + { + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/CrossPowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5, random.Next(11) - 5), 0, Sprite.PowerType.cross, 360)); + } + else if (releaseType == 4) + { + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/NoBlockPowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5, random.Next(11) - 5), 0, Sprite.PowerType.noblock, 360)); + } + else if (releaseType == 5) + { + powerupList.Add(new PowerupSprite(Game.Content.Load(@"Images/AddBlockPowerup"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), + new Vector2(random.Next(11) - 5, random.Next(11) - 5), 0, Sprite.PowerType.addblock, 360)); + } + PowerupSpawnInstance = PowerupSpawn.CreateInstance(); + PowerupSpawnInstance.Play(); + } + } + + for (int i = 0; i < blockList.Count; i++) + { + if (blockList[i].CollisionRect.Intersects(player.CollisionRect)) + { + player.Position -= new Vector2(player.Speed.X, player.Speed.Y); + playerRightHand.Position -= new Vector2(playerRightHand.Speed.X, playerRightHand.Speed.Y); + playerLeftHand.Position -= new Vector2(playerLeftHand.Speed.X, playerLeftHand.Speed.Y); + } + for (int n = 0; n < spriteList.Count; n++) + { + if (blockList[i].CollisionRect.Intersects(spriteList[n].CollisionRect)) + { + spriteList[n].Speed = new Vector2(-spriteList[n].Speed.X, -spriteList[n].Speed.Y); + } + } + } + + for (int i = 0; i < powerupList.Count; i++) + { + if (powerupList[i].CollisionRect.Intersects(player.CollisionRect)) + { + if (powerupList[i].Type == Sprite.PowerType.life) + { + LifeUpInstance = LifeUp.CreateInstance(); + LifeUpInstance.Play(); + currentNumberOfLives++; + livesList.Add(new EnemySprite(Game.Content.Load(@"Images/MagnaBoyWalkingSheet"), + new Vector2(10 + (currentNumberOfLives - 1) * 40, 35), new Point(120, 105), 10, + new Point(0, 0), new Point(1, 1), Vector2.Zero, 0, .25f)); + } + else if (powerupList[i].Type == Sprite.PowerType.bomb) + { + ClearInstance = Clear.CreateInstance(); + ClearInstance.Play(); + for (int n = 0; n < spriteList.Count; n++) currentScore += 100; + spriteList.Clear(); + } + else if (powerupList[i].Type == Sprite.PowerType.slow) + { + SlowDownInstance = SlowDown.CreateInstance(); + SlowDownInstance.Play(); + isEffected = true; + player.Speed -= new Vector2(7, 7); + playerRightHand.Speed -= new Vector2(7, 7); + playerLeftHand.Speed -= new Vector2(7, 7); + } + else if (powerupList[i].Type == Sprite.PowerType.cross) + { + CrossInstance = Cross.CreateInstance(); + CrossInstance.Play(); + int choice = random.Next(2); + if (choice == 1) magnetList.Add(new Magnet(Game.Content.Load(@"Images/NegativeMagnet"), + player.Position, new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), new Vector2(-20, -20), + 0, Sprite.Charge.negative)); + else magnetList.Add(new Magnet(Game.Content.Load(@"Images/PositiveMagnet"), + player.Position, new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), new Vector2(-20, -20), + 0, Sprite.Charge.positive)); + choice = random.Next(2); + if (choice == 1) magnetList.Add(new Magnet(Game.Content.Load(@"Images/NegativeMagnet"), + player.Position + new Vector2(60, 0), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(0, -20), 0, Sprite.Charge.negative)); + else magnetList.Add(new Magnet(Game.Content.Load(@"Images/PositiveMagnet"), + player.Position + new Vector2(60, 0), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(0, -20), 0, Sprite.Charge.positive)); + choice = random.Next(2); + if (choice == 1) magnetList.Add(new Magnet(Game.Content.Load(@"Images/NegativeMagnet"), + player.Position + new Vector2(120, 0), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(20, -20), 0, Sprite.Charge.negative)); + else magnetList.Add(new Magnet(Game.Content.Load(@"Images/PositiveMagnet"), + player.Position + new Vector2(120, 0), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(20, -20), 0, Sprite.Charge.positive)); + choice = random.Next(2); + if (choice == 1) magnetList.Add(new Magnet(Game.Content.Load(@"Images/NegativeMagnet"), + player.Position + new Vector2(120, 53), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(20, 0), 0, Sprite.Charge.negative)); + else magnetList.Add(new Magnet(Game.Content.Load(@"Images/PositiveMagnet"), + player.Position + new Vector2(120, 53), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(20, 0), 0, Sprite.Charge.positive)); + choice = random.Next(2); + if (choice == 1) magnetList.Add(new Magnet(Game.Content.Load(@"Images/NegativeMagnet"), + player.Position + new Vector2(120, 105), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(20, 20), 0, Sprite.Charge.negative)); + else magnetList.Add(new Magnet(Game.Content.Load(@"Images/PositiveMagnet"), + player.Position + new Vector2(120, 105), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(20, 20), 0, Sprite.Charge.positive)); + choice = random.Next(2); + if (choice == 1) magnetList.Add(new Magnet(Game.Content.Load(@"Images/NegativeMagnet"), + player.Position + new Vector2(60, 105), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(0, 20), 0, Sprite.Charge.negative)); + else magnetList.Add(new Magnet(Game.Content.Load(@"Images/PositiveMagnet"), + player.Position + new Vector2(60, 105), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(0, 20), 0, Sprite.Charge.positive)); + choice = random.Next(2); + if (choice == 1) magnetList.Add(new Magnet(Game.Content.Load(@"Images/NegativeMagnet"), + player.Position + new Vector2(0, 105), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(-20, 20), 0, Sprite.Charge.negative)); + else magnetList.Add(new Magnet(Game.Content.Load(@"Images/PositiveMagnet"), + player.Position + new Vector2(0, 105), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(-20, 20), 0, Sprite.Charge.positive)); + choice = random.Next(2); + if (choice == 1) magnetList.Add(new Magnet(Game.Content.Load(@"Images/NegativeMagnet"), + player.Position + new Vector2(0, 53), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(-20, 0), 0, Sprite.Charge.negative)); + else magnetList.Add(new Magnet(Game.Content.Load(@"Images/PositiveMagnet"), + player.Position + new Vector2(0, 53), new Point(40, 40), 0, new Point(0, 0), new Point(1, 1), + new Vector2(-20, 0), 0, Sprite.Charge.positive)); + } + else if (powerupList[i].Type == Sprite.PowerType.noblock) + { + NoBlockSoundInstance = NoBlock.CreateInstance(); + NoBlockSoundInstance.Play(); + if (blockList.Count != 0)blockList.RemoveAt(0); + } + else if (powerupList[i].Type == Sprite.PowerType.addblock) + { + AddBlockInstance = AddBlock.CreateInstance(); + AddBlockInstance.Play(); + blockList.Add(new BlockSprite(Game.Content.Load(@"Images/Block"), + new Vector2(random.Next(Game.Window.ClientBounds.Width - 50), random.Next(Game.Window.ClientBounds.Height - 50)), + new Point(50, 50), 0, new Point(0, 0), new Point(1, 1), new Vector2(random.Next(5) - 2, random.Next(5) - 2), 0)); + } + powerupList.Remove(powerupList[i]); + i--; + } + } + + for (int i = 0; i < spriteList.Count; i++) + { + if (spriteList[i].CollisionRect.Intersects(player.CollisionRect)) + { + currentNumberOfLives--; + HitInstance = Hit.CreateInstance(); + HitInstance.Play(); + spriteList.Remove(spriteList[i]); + livesList.RemoveAt(livesList.Count - 1); + } + } + + for (int i = 0; i < spriteList.Count; ++i) + { + for (int n = 0; n < magnetList.Count; ++n) + { + if (i >= 0 && spriteList.Count > 0 && spriteList[i].CollisionRect.Intersects(magnetList[n].CollisionRect)) + { + if (spriteList[i].Polarity != magnetList[n].Polarity) + { + AddScore(spriteList[i].PointValue); + KillInstance = Kill.CreateInstance(); + KillInstance.Play(); + spriteList.Remove(spriteList[i]); + magnetList.Remove(magnetList[n]); + n--; + i--; + } + else + { + ReflectInstance = Reflect.CreateInstance(); + ReflectInstance.Play(); + magnetList[n].Speed = new Vector2(-magnetList[n].Speed.X, -magnetList[n].Speed.Y); + } + } + } + } + + for (int i = 0; i < magnetList.Count; i++) + { + if (magnetList[i].Position.X > Game.Window.ClientBounds.Width || + magnetList[i].Position.X < 0 || + magnetList[i].Position.Y > Game.Window.ClientBounds.Height || + magnetList[i].Position.Y < 0) magnetList.Remove(magnetList[i]); + } + + if (isEffected) + { + occurTime--; + if (occurTime == 0) + { + occurTime = 240; + player.Speed += new Vector2(7, 7); + playerRightHand.Speed += new Vector2(7, 7); + playerLeftHand.Speed += new Vector2(7, 7); + isEffected = false; + } + } + + for (int i = 0; i < powerupList.Count; i++) + { + powerupList[i].Countdown--; + if (powerupList[i].Countdown == 0) + { + powerupList.Remove(powerupList[i]); + i--; + } + } + + livesList.Clear(); + for (int i = 0; i < currentNumberOfLives; i++) + { + int space = 10 + i * 40; + livesList.Add(new EnemySprite(Game.Content.Load(@"Images/MagnaBoyWalkingSheet"), + new Vector2(space, 35), new Point(120, 105), 10, new Point(0, 0), new Point(1, 1), + Vector2.Zero, 0, .25f)); + } + + base.Update(gameTime); + } + + public override void Draw(GameTime gameTime) + { + spriteBatch.Begin(SpriteSortMode.FrontToBack, BlendState.AlphaBlend); + + player.Draw(gameTime, spriteBatch); + if (player.IsFacingRight) playerRightHand.Draw(gameTime, spriteBatch); + else playerLeftHand.Draw(gameTime, spriteBatch); + + for (int i = 0; i < spriteList.Count; i++) spriteList[i].Draw(gameTime, spriteBatch); + foreach (Background b in backgroundList) b.Draw(gameTime, spriteBatch); + foreach (Magnet m in magnetList) m.Draw(gameTime, spriteBatch); + foreach (BlockSprite bs in blockList) bs.Draw(gameTime, spriteBatch); + foreach (PowerupSprite p in powerupList) p.Draw(gameTime, spriteBatch); + + spriteBatch.DrawString(score, "Score : " + currentScore, + new Vector2(10, 10), Color.White, 0, Vector2.Zero, + 1, SpriteEffects.None, 1); + + spriteBatch.DrawString(level, "Level : " + currentLevel, + new Vector2(Game.Window.ClientBounds.Width - 90, 10), + Color.White, 0, Vector2.Zero, 1, SpriteEffects.None, 1); + + foreach (EnemySprite l in livesList) l.Draw(gameTime, spriteBatch); + + spriteBatch.End(); + } + } +} \ No newline at end of file diff --git a/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame.csproj b/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame.csproj new file mode 100644 index 0000000..bddd309 --- /dev/null +++ b/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame.csproj @@ -0,0 +1,210 @@ + + + + {8186CF63-C057-438A-A3E9-87DEBE241B50} + {6D335F3A-9D43-41b4-9D22-F6F17C4BE596};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + Debug + x86 + WinExe + Properties + SuperAwesomeMagnetGame + SuperAwesomeMagnetGame + v4.0 + v4.0 + Windows + f16088bf-40fd-4002-b26b-41d3608e8f30 + Game.ico + GameThumbnail.png + false + 9CBD3AB8120203E1099C97973CDC8EB7DF854FCF + SuperAwesomeMagnetGame_TemporaryKey.pfx + true + true + + + + + 4.0 + + + Game + HiDef + Client + C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\ + true + Disk + false + Foreground + 7 + Days + false + false + true + 12 + 1.0.0.%2a + false + true + true + + + true + full + false + bin\x86\Debug + DEBUG;TRACE;WINDOWS + prompt + 4 + true + false + x86 + false + AllRules.ruleset + + + pdbonly + true + bin\x86\Release + TRACE;WINDOWS + prompt + 4 + true + false + x86 + True + AllRules.ruleset + + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + False + + + + False + + + False + + + False + + + + + + + + + + + + + + + + + + + + + + + + e4ec5b34-cc40-4d86-9976-1beb6112d6f7 + False + + + + + False + .NET Framework 3.5 SP1 Client Profile + false + + + False + .NET Framework 2.0 %28x86%29 + false + + + False + .NET Framework 3.0 %28x86%29 + false + + + False + .NET Framework 3.5 + false + + + False + .NET Framework 3.5 SP1 + true + + + False + Windows Installer 3.1 + true + + + False + Microsoft XNA Framework Redistributable 3.0 + true + + + False + Microsoft XNA Framework Redistributable 4.0 + true + + + + + + + + {E4EC5B34-CC40-4D86-9976-1BEB6112D6F7} + SuperAwesomeMagnetGameContent %28Content%29 + Content + + + + + + \ No newline at end of file diff --git a/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame.csproj.Debug.cachefile b/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame.csproj.Debug.cachefile new file mode 100644 index 0000000..8cbc111 --- /dev/null +++ b/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame.csproj.Debug.cachefile @@ -0,0 +1,37 @@ +Content\Images\MagnaBoyWalkingSheet.xnb +Content\Images\white-square-16x16.xnb +Content\Images\red-square-16x16.xnb +Content\Images\MagnaBoyHand.xnb +Content\Images\NegativeMagnet.xnb +Content\Images\PositiveMagnet.xnb +Content\Images\Background.xnb +Content\Images\RedEnemy.xnb +Content\Images\BlueEnemy.xnb +Content\Images\BlueEnemyAttack.xnb +Content\Images\RedEnemyAttack.xnb +Content\Images\Block.xnb +Content\Images\EndScreen.xnb +Content\Images\StartScreen.xnb +Content\Images\LifePowerup.xnb +Content\Images\WinScreen.xnb +Content\Images\tutorialscreen.xnb +Content\Images\BombPowerup.xnb +Content\Images\SlowPowerup.xnb +Content\Images\CrossPowerup.xnb +Content\Images\NoBlockPowerup.xnb +Content\Images\CreditsScreen.xnb +Content\Images\AddBlockPowerup.xnb +Content\Fonts\Arial.xnb +Content\Audio\HitSound.xnb +Content\Audio\KillSound.xnb +Content\Audio\ShootSound.xnb +Content\Audio\ReflectSound.xnb +Content\Audio\ClearSound.xnb +Content\Audio\CrossSound.xnb +Content\Audio\PowerupSpawn.xnb +Content\Audio\NoBlockSound.xnb +Content\Audio\LifeUpSound.xnb +Content\Audio\SlowSound.xnb +Content\Audio\AddBlockSound.xnb +Content\Audio\Background Music.xnb +Content\Audio\Background Music.wma diff --git a/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame.csproj.user b/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame.csproj.user new file mode 100644 index 0000000..3dce8ef --- /dev/null +++ b/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame.csproj.user @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + en-US + false + false + + \ No newline at end of file diff --git a/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame_TemporaryKey.pfx b/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame_TemporaryKey.pfx new file mode 100644 index 0000000..47556fd Binary files /dev/null and b/SuperAwesomeMagnetGame/SuperAwesomeMagnetGame_TemporaryKey.pfx differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/AddBlockSound.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/AddBlockSound.xnb new file mode 100644 index 0000000..24922fc Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/AddBlockSound.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/Background Music.wma b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/Background Music.wma new file mode 100644 index 0000000..c8ab46e Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/Background Music.wma differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/Background Music.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/Background Music.xnb new file mode 100644 index 0000000..11f1b8c Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/Background Music.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/ClearSound.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/ClearSound.xnb new file mode 100644 index 0000000..de4d457 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/ClearSound.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/CrossSound.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/CrossSound.xnb new file mode 100644 index 0000000..670c04d Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/CrossSound.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/HitSound.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/HitSound.xnb new file mode 100644 index 0000000..675ca4b Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/HitSound.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/KillSound.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/KillSound.xnb new file mode 100644 index 0000000..d99c879 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/KillSound.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/LifeUpSound.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/LifeUpSound.xnb new file mode 100644 index 0000000..361f089 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/LifeUpSound.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/NoBlockSound.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/NoBlockSound.xnb new file mode 100644 index 0000000..323ada4 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/NoBlockSound.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/PowerupSpawn.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/PowerupSpawn.xnb new file mode 100644 index 0000000..56ee40e Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/PowerupSpawn.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/ReflectSound.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/ReflectSound.xnb new file mode 100644 index 0000000..87cda68 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/ReflectSound.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/ShootSound.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/ShootSound.xnb new file mode 100644 index 0000000..17bc4e8 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/ShootSound.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/SlowSound.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/SlowSound.xnb new file mode 100644 index 0000000..483492e Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Audio/SlowSound.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Fonts/Arial.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Fonts/Arial.xnb new file mode 100644 index 0000000..64502a8 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Fonts/Arial.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/AddBlockPowerup.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/AddBlockPowerup.xnb new file mode 100644 index 0000000..727e7cf Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/AddBlockPowerup.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/Background.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/Background.xnb new file mode 100644 index 0000000..ee7dfe6 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/Background.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/Block.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/Block.xnb new file mode 100644 index 0000000..7f2458b Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/Block.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/BlueEnemy.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/BlueEnemy.xnb new file mode 100644 index 0000000..3a26b01 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/BlueEnemy.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/BlueEnemyAttack.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/BlueEnemyAttack.xnb new file mode 100644 index 0000000..eee8090 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/BlueEnemyAttack.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/BombPowerup.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/BombPowerup.xnb new file mode 100644 index 0000000..ccdc725 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/BombPowerup.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/CreditsScreen.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/CreditsScreen.xnb new file mode 100644 index 0000000..81e5191 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/CreditsScreen.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/CrossPowerup.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/CrossPowerup.xnb new file mode 100644 index 0000000..7cedc21 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/CrossPowerup.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/EndScreen.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/EndScreen.xnb new file mode 100644 index 0000000..617d27c Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/EndScreen.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/LifePowerup.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/LifePowerup.xnb new file mode 100644 index 0000000..1ffd0c0 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/LifePowerup.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/MagnaBoyHand.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/MagnaBoyHand.xnb new file mode 100644 index 0000000..ea2c637 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/MagnaBoyHand.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/MagnaBoyWalkingSheet.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/MagnaBoyWalkingSheet.xnb new file mode 100644 index 0000000..de3a77e Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/MagnaBoyWalkingSheet.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/NegativeMagnet.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/NegativeMagnet.xnb new file mode 100644 index 0000000..c547325 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/NegativeMagnet.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/NoBlockPowerup.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/NoBlockPowerup.xnb new file mode 100644 index 0000000..94cb5c1 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/NoBlockPowerup.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/PositiveMagnet.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/PositiveMagnet.xnb new file mode 100644 index 0000000..406e616 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/PositiveMagnet.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/RedEnemy.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/RedEnemy.xnb new file mode 100644 index 0000000..5fced65 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/RedEnemy.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/RedEnemyAttack.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/RedEnemyAttack.xnb new file mode 100644 index 0000000..04755c6 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/RedEnemyAttack.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/SlowPowerup.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/SlowPowerup.xnb new file mode 100644 index 0000000..dcc797c Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/SlowPowerup.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/StartScreen.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/StartScreen.xnb new file mode 100644 index 0000000..04a8236 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/StartScreen.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/WinScreen.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/WinScreen.xnb new file mode 100644 index 0000000..297bdac Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/WinScreen.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/red-square-16x16.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/red-square-16x16.xnb new file mode 100644 index 0000000..52ce879 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/red-square-16x16.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/tutorialscreen.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/tutorialscreen.xnb new file mode 100644 index 0000000..5160fd1 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/tutorialscreen.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/white-square-16x16.xnb b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/white-square-16x16.xnb new file mode 100644 index 0000000..30b40d5 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/Content/Images/white-square-16x16.xnb differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.application b/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.application new file mode 100644 index 0000000..3fceb95 --- /dev/null +++ b/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.application @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + Wt3yEpGAQHwC8cFypyeZ0dXgwa4= + + + + \ No newline at end of file diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.exe b/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.exe new file mode 100644 index 0000000..f775874 Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.exe differ diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.exe.manifest b/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.exe.manifest new file mode 100644 index 0000000..e16a29c --- /dev/null +++ b/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.exe.manifest @@ -0,0 +1,458 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WTODfgPqJ94PuKM2T0YcboGOqY4= + + + + + + + + + + hO3KsbMMn2Sm+93pOrv/5ZOeGD4= + + + + + + + + + lgv7l8pcV9OeW+Eno/b58r6a7Is= + + + + + + + + + uOxG7HRft7GDzYQqdi+kdaFhZWE= + + + + + + + + + YdSE6Lk2C9/mMeLKgGePglWq++k= + + + + + + + + + j7LVKHZ3XmkQQu09+oB0chU+3EA= + + + + + + + + + bZjGSEUtHl4LmnkTtayYGbXZmwM= + + + + + + + + + fThm3t6eDA7ViWNLIyHf1DsiOR0= + + + + + + + + + 5OOVHTKaIYveD/xWCaI1sni2VPU= + + + + + + + + + XSTuVym625u2esPIRMU1sbeSycw= + + + + + + + + + EH/px1RecemsuVB/IkDu/ueIA04= + + + + + + + + + GkISaIalDduDjPMgjTxQHpZ0nL8= + + + + + + + + + tXQtHZoApRzxxMwmhgmVjKZYGok= + + + + + + + + + ajyvCfjdBVUCpexN6dHnLNdB5TU= + + + + + + + + + BCfyKUd2eM7ILcgBFsKoPWXIV58= + + + + + + + + + owUH4WKgSAhglZgyN3DcpvcT4iI= + + + + + + + + + dvH27o398lcWhHlEsx/PpAaCC1M= + + + + + + + + + CXO6f2OaZnCnEgpy3rNeWRPXSac= + + + + + + + + + tWk5fvVy+AcmZy2ZKLPeo60tE7Q= + + + + + + + + + MmKf53EW0haU4svr70KrtjxG3Kg= + + + + + + + + + 8+9w7ioFXJl4MyapvoKUsOFtrGw= + + + + + + + + + xoxHnLlJ5bP98Qb4sa4dVEYi/pA= + + + + + + + + + MybbL2seoXPwWLyudxVBNuK1Yic= + + + + + + + + + 7xX7M1xp8QCmMwXo8dR4trFl0bk= + + + + + + + + + Agev3Hnmv2lrW1H0kBcD0mIRp74= + + + + + + + + + AzKQMADKuZtFLJkT5q3gQql9yrI= + + + + + + + + + c4409AQDMPz5A3XbR49FNtr79HE= + + + + + + + + + WsyiYj+MGIWTR669p+4scR+qm/o= + + + + + + + + + vJpekAATY1cezWYtF95RInVqLb4= + + + + + + + + + 3fI/QFgCrNbbC21B4kur+KI51RY= + + + + + + + + + D117D/K8oYxD/x1+CNfsIphF1WM= + + + + + + + + + j0koKoBpaNPX398F42PB1mgWPZc= + + + + + + + + + cT9arnx0bobq5cvxVL+RrmjZLE8= + + + + + + + + + kc0YrVQm774RTC4qJEQAz54ipiQ= + + + + + + + + + flG5li90f32s7fdE2wsWR0ZFp/E= + + + + + + + + + fyDPaDfdUvyRGr4ADgTC/xUEwUM= + + + + + + + + + d7TFvgq9AdhcPv45XLWKSQ88y0A= + + + + + + + + + uqZTWzuY/GgyilusS5sEuF2CaXU= + + + + + + + + + /y21PfwGnUAkwpPwwaFuIIyWENo= + + + + + + + + + diNvdcDpDtGEMuMQIHpkKK3qVHc= + + + \ No newline at end of file diff --git a/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.pdb b/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.pdb new file mode 100644 index 0000000..cd946db Binary files /dev/null and b/SuperAwesomeMagnetGame/bin/x86/Debug/SuperAwesomeMagnetGame.pdb differ diff --git a/SuperAwesomeMagnetGame/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache b/SuperAwesomeMagnetGame/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache new file mode 100644 index 0000000..eac26a8 Binary files /dev/null and b/SuperAwesomeMagnetGame/obj/x86/Debug/DesignTimeResolveAssemblyReferencesInput.cache differ diff --git a/SuperAwesomeMagnetGame/obj/x86/Debug/Microsoft.Xna.Framework.RuntimeProfile.txt b/SuperAwesomeMagnetGame/obj/x86/Debug/Microsoft.Xna.Framework.RuntimeProfile.txt new file mode 100644 index 0000000..afd7815 --- /dev/null +++ b/SuperAwesomeMagnetGame/obj/x86/Debug/Microsoft.Xna.Framework.RuntimeProfile.txt @@ -0,0 +1 @@ +Windows.v4.0.HiDef diff --git a/SuperAwesomeMagnetGame/obj/x86/Debug/ResolveAssemblyReference.cache b/SuperAwesomeMagnetGame/obj/x86/Debug/ResolveAssemblyReference.cache new file mode 100644 index 0000000..6b7f838 Binary files /dev/null and b/SuperAwesomeMagnetGame/obj/x86/Debug/ResolveAssemblyReference.cache differ diff --git a/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.application b/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.application new file mode 100644 index 0000000..3fceb95 --- /dev/null +++ b/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.application @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + Wt3yEpGAQHwC8cFypyeZ0dXgwa4= + + + + \ No newline at end of file diff --git a/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.csproj.FileListAbsolute.txt b/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.csproj.FileListAbsolute.txt new file mode 100644 index 0000000..46d5c00 --- /dev/null +++ b/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.csproj.FileListAbsolute.txt @@ -0,0 +1,94 @@ +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\SuperAwesomeMagnetGame.exe +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\SuperAwesomeMagnetGame.pdb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\ResolveAssemblyReference.cache +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\Microsoft.Xna.Framework.RuntimeProfile.txt +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\SuperAwesomeMagnetGame.exe +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\SuperAwesomeMagnetGame.pdb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\MagnaBoyWalkingSheet.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\white-square-16x16.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\red-square-16x16.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\MagnaBoyHand.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\NegativeMagnet.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\PositiveMagnet.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\SuperAwesomeMagnetGame.exe.manifest +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\SuperAwesomeMagnetGame.application +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\SuperAwesomeMagnetGame.exe.manifest +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\SuperAwesomeMagnetGame.application +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\Background.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\BlueEnemy.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\RedEnemy.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Fonts\Arial.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\BlueEnemyAttack.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\RedEnemyAttack.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\HitSound.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\KillSound.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\ShootSound.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\Block.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\EndScreen.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\StartScreen.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\ReflectSound.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\tutorialscreen.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\LifePowerup.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\WinScreen.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\Background Music.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\Background Music.wma +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\BombPowerup.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\ClearSound.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\SlowPowerup.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\CrossPowerup.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\CrossSound.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\PowerupSpawn.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\NoBlockPowerup.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\NoBlockSound.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\LifeUpSound.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\SlowSound.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\CreditsScreen.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\AddBlockPowerup.xnb +C:\Users\Andy\Documents\Visual Studio 2008\Projects\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\AddBlockSound.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\ResolveAssemblyReference.cache +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\Microsoft.Xna.Framework.RuntimeProfile.txt +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\SuperAwesomeMagnetGame.exe +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\MagnaBoyWalkingSheet.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\white-square-16x16.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\red-square-16x16.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\MagnaBoyHand.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\NegativeMagnet.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\PositiveMagnet.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\Background.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\RedEnemy.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\BlueEnemy.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\BlueEnemyAttack.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\RedEnemyAttack.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\Block.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\EndScreen.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\StartScreen.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\LifePowerup.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\WinScreen.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\tutorialscreen.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\BombPowerup.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\SlowPowerup.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\CrossPowerup.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\NoBlockPowerup.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\CreditsScreen.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Images\AddBlockPowerup.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Fonts\Arial.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\HitSound.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\KillSound.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\ShootSound.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\ReflectSound.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\ClearSound.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\CrossSound.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\PowerupSpawn.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\NoBlockSound.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\LifeUpSound.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\SlowSound.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\AddBlockSound.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\Background Music.xnb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\Content\Audio\Background Music.wma +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\SuperAwesomeMagnetGame.exe.manifest +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\SuperAwesomeMagnetGame.application +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\SuperAwesomeMagnetGame.exe +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\bin\x86\Debug\SuperAwesomeMagnetGame.pdb +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\SuperAwesomeMagnetGame.exe.manifest +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\SuperAwesomeMagnetGame.application +C:\Users\Andy\Desktop\SuperAwesomeMagnetGame\SuperAwesomeMagnetGame\obj\x86\Debug\SuperAwesomeMagnetGame.pdb diff --git a/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.exe b/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.exe new file mode 100644 index 0000000..f775874 Binary files /dev/null and b/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.exe differ diff --git a/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.exe.manifest b/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.exe.manifest new file mode 100644 index 0000000..e16a29c --- /dev/null +++ b/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.exe.manifest @@ -0,0 +1,458 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + WTODfgPqJ94PuKM2T0YcboGOqY4= + + + + + + + + + + hO3KsbMMn2Sm+93pOrv/5ZOeGD4= + + + + + + + + + lgv7l8pcV9OeW+Eno/b58r6a7Is= + + + + + + + + + uOxG7HRft7GDzYQqdi+kdaFhZWE= + + + + + + + + + YdSE6Lk2C9/mMeLKgGePglWq++k= + + + + + + + + + j7LVKHZ3XmkQQu09+oB0chU+3EA= + + + + + + + + + bZjGSEUtHl4LmnkTtayYGbXZmwM= + + + + + + + + + fThm3t6eDA7ViWNLIyHf1DsiOR0= + + + + + + + + + 5OOVHTKaIYveD/xWCaI1sni2VPU= + + + + + + + + + XSTuVym625u2esPIRMU1sbeSycw= + + + + + + + + + EH/px1RecemsuVB/IkDu/ueIA04= + + + + + + + + + GkISaIalDduDjPMgjTxQHpZ0nL8= + + + + + + + + + tXQtHZoApRzxxMwmhgmVjKZYGok= + + + + + + + + + ajyvCfjdBVUCpexN6dHnLNdB5TU= + + + + + + + + + BCfyKUd2eM7ILcgBFsKoPWXIV58= + + + + + + + + + owUH4WKgSAhglZgyN3DcpvcT4iI= + + + + + + + + + dvH27o398lcWhHlEsx/PpAaCC1M= + + + + + + + + + CXO6f2OaZnCnEgpy3rNeWRPXSac= + + + + + + + + + tWk5fvVy+AcmZy2ZKLPeo60tE7Q= + + + + + + + + + MmKf53EW0haU4svr70KrtjxG3Kg= + + + + + + + + + 8+9w7ioFXJl4MyapvoKUsOFtrGw= + + + + + + + + + xoxHnLlJ5bP98Qb4sa4dVEYi/pA= + + + + + + + + + MybbL2seoXPwWLyudxVBNuK1Yic= + + + + + + + + + 7xX7M1xp8QCmMwXo8dR4trFl0bk= + + + + + + + + + Agev3Hnmv2lrW1H0kBcD0mIRp74= + + + + + + + + + AzKQMADKuZtFLJkT5q3gQql9yrI= + + + + + + + + + c4409AQDMPz5A3XbR49FNtr79HE= + + + + + + + + + WsyiYj+MGIWTR669p+4scR+qm/o= + + + + + + + + + vJpekAATY1cezWYtF95RInVqLb4= + + + + + + + + + 3fI/QFgCrNbbC21B4kur+KI51RY= + + + + + + + + + D117D/K8oYxD/x1+CNfsIphF1WM= + + + + + + + + + j0koKoBpaNPX398F42PB1mgWPZc= + + + + + + + + + cT9arnx0bobq5cvxVL+RrmjZLE8= + + + + + + + + + kc0YrVQm774RTC4qJEQAz54ipiQ= + + + + + + + + + flG5li90f32s7fdE2wsWR0ZFp/E= + + + + + + + + + fyDPaDfdUvyRGr4ADgTC/xUEwUM= + + + + + + + + + d7TFvgq9AdhcPv45XLWKSQ88y0A= + + + + + + + + + uqZTWzuY/GgyilusS5sEuF2CaXU= + + + + + + + + + /y21PfwGnUAkwpPwwaFuIIyWENo= + + + + + + + + + diNvdcDpDtGEMuMQIHpkKK3qVHc= + + + \ No newline at end of file diff --git a/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.pdb b/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.pdb new file mode 100644 index 0000000..cd946db Binary files /dev/null and b/SuperAwesomeMagnetGame/obj/x86/Debug/SuperAwesomeMagnetGame.pdb differ diff --git a/SuperAwesomeMagnetGame/obj/x86/Debug/cachefile-e4ec5b34-cc40-4d86-9976-1beb6112d6f7-targetpath.txt b/SuperAwesomeMagnetGame/obj/x86/Debug/cachefile-e4ec5b34-cc40-4d86-9976-1beb6112d6f7-targetpath.txt new file mode 100644 index 0000000..8cbc111 --- /dev/null +++ b/SuperAwesomeMagnetGame/obj/x86/Debug/cachefile-e4ec5b34-cc40-4d86-9976-1beb6112d6f7-targetpath.txt @@ -0,0 +1,37 @@ +Content\Images\MagnaBoyWalkingSheet.xnb +Content\Images\white-square-16x16.xnb +Content\Images\red-square-16x16.xnb +Content\Images\MagnaBoyHand.xnb +Content\Images\NegativeMagnet.xnb +Content\Images\PositiveMagnet.xnb +Content\Images\Background.xnb +Content\Images\RedEnemy.xnb +Content\Images\BlueEnemy.xnb +Content\Images\BlueEnemyAttack.xnb +Content\Images\RedEnemyAttack.xnb +Content\Images\Block.xnb +Content\Images\EndScreen.xnb +Content\Images\StartScreen.xnb +Content\Images\LifePowerup.xnb +Content\Images\WinScreen.xnb +Content\Images\tutorialscreen.xnb +Content\Images\BombPowerup.xnb +Content\Images\SlowPowerup.xnb +Content\Images\CrossPowerup.xnb +Content\Images\NoBlockPowerup.xnb +Content\Images\CreditsScreen.xnb +Content\Images\AddBlockPowerup.xnb +Content\Fonts\Arial.xnb +Content\Audio\HitSound.xnb +Content\Audio\KillSound.xnb +Content\Audio\ShootSound.xnb +Content\Audio\ReflectSound.xnb +Content\Audio\ClearSound.xnb +Content\Audio\CrossSound.xnb +Content\Audio\PowerupSpawn.xnb +Content\Audio\NoBlockSound.xnb +Content\Audio\LifeUpSound.xnb +Content\Audio\SlowSound.xnb +Content\Audio\AddBlockSound.xnb +Content\Audio\Background Music.xnb +Content\Audio\Background Music.wma diff --git a/SuperAwesomeMagnetGame/obj/x86/Debug/cachefile-{E4EC5B34-CC40-4D86-9976-1BEB6112D6F7}-targetpath.txt b/SuperAwesomeMagnetGame/obj/x86/Debug/cachefile-{E4EC5B34-CC40-4D86-9976-1BEB6112D6F7}-targetpath.txt new file mode 100644 index 0000000..8cbc111 --- /dev/null +++ b/SuperAwesomeMagnetGame/obj/x86/Debug/cachefile-{E4EC5B34-CC40-4D86-9976-1BEB6112D6F7}-targetpath.txt @@ -0,0 +1,37 @@ +Content\Images\MagnaBoyWalkingSheet.xnb +Content\Images\white-square-16x16.xnb +Content\Images\red-square-16x16.xnb +Content\Images\MagnaBoyHand.xnb +Content\Images\NegativeMagnet.xnb +Content\Images\PositiveMagnet.xnb +Content\Images\Background.xnb +Content\Images\RedEnemy.xnb +Content\Images\BlueEnemy.xnb +Content\Images\BlueEnemyAttack.xnb +Content\Images\RedEnemyAttack.xnb +Content\Images\Block.xnb +Content\Images\EndScreen.xnb +Content\Images\StartScreen.xnb +Content\Images\LifePowerup.xnb +Content\Images\WinScreen.xnb +Content\Images\tutorialscreen.xnb +Content\Images\BombPowerup.xnb +Content\Images\SlowPowerup.xnb +Content\Images\CrossPowerup.xnb +Content\Images\NoBlockPowerup.xnb +Content\Images\CreditsScreen.xnb +Content\Images\AddBlockPowerup.xnb +Content\Fonts\Arial.xnb +Content\Audio\HitSound.xnb +Content\Audio\KillSound.xnb +Content\Audio\ShootSound.xnb +Content\Audio\ReflectSound.xnb +Content\Audio\ClearSound.xnb +Content\Audio\CrossSound.xnb +Content\Audio\PowerupSpawn.xnb +Content\Audio\NoBlockSound.xnb +Content\Audio\LifeUpSound.xnb +Content\Audio\SlowSound.xnb +Content\Audio\AddBlockSound.xnb +Content\Audio\Background Music.xnb +Content\Audio\Background Music.wma