diff --git a/.DS_Store b/.DS_Store
new file mode 100644
index 0000000..01f1aff
Binary files /dev/null and b/.DS_Store differ
diff --git a/.gitignore b/.gitignore
index 259148f..7c494d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -30,3 +30,8 @@
*.exe
*.out
*.app
+
+# splashkit log
+games/csharp_games/PlanetProtector/logs/splashkit.log
+
+.DS_Store
diff --git a/games/.DS_Store b/games/.DS_Store
new file mode 100644
index 0000000..3b4acba
Binary files /dev/null and b/games/.DS_Store differ
diff --git a/games/csharp_games/.DS_Store b/games/csharp_games/.DS_Store
new file mode 100644
index 0000000..bffe39f
Binary files /dev/null and b/games/csharp_games/.DS_Store differ
diff --git a/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.AssemblyInfo.cs b/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.AssemblyInfo.cs
index 9e92116..31a2409 100644
--- a/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.AssemblyInfo.cs
+++ b/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.AssemblyInfo.cs
@@ -13,7 +13,7 @@
[assembly: System.Reflection.AssemblyCompanyAttribute("LostInSpace")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
-[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+9aa1c4b527ee6199e6b033fd1d2f07c1ddaf218d")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+26961bff007219fa239f8f526b1c7c4e7f907100")]
[assembly: System.Reflection.AssemblyProductAttribute("LostInSpace")]
[assembly: System.Reflection.AssemblyTitleAttribute("LostInSpace")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
diff --git a/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.AssemblyInfoInputs.cache b/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.AssemblyInfoInputs.cache
index 81b53ea..c5a72a7 100644
--- a/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.AssemblyInfoInputs.cache
+++ b/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.AssemblyInfoInputs.cache
@@ -1 +1 @@
-349dd11e05248816d3fa64c6f11c4dd1ab2af88bff4dad5f3ae7efcd8a013ec5
+5fc109064aafe7bdbee6cafbbf62c512689cde4d514469d1e9661b33b31c824b
diff --git a/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.GeneratedMSBuildEditorConfig.editorconfig b/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.GeneratedMSBuildEditorConfig.editorconfig
index 8491026..8a6439b 100644
--- a/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.GeneratedMSBuildEditorConfig.editorconfig
+++ b/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.GeneratedMSBuildEditorConfig.editorconfig
@@ -8,6 +8,6 @@ build_property.PlatformNeutralAssembly =
build_property.EnforceExtendedAnalyzerRules =
build_property._SupportedPlatformList = Linux,macOS,Windows
build_property.RootNamespace = LostInSpace
-build_property.ProjectDir = /Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/
+build_property.ProjectDir = /Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/LostInSpace/
build_property.EnableComHosting =
build_property.EnableGeneratedComInterfaceComImportInterop =
diff --git a/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.assets.cache b/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.assets.cache
index d45cf97..8fecce0 100644
Binary files a/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.assets.cache and b/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.assets.cache differ
diff --git a/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.csproj.AssemblyReference.cache b/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.csproj.AssemblyReference.cache
index bda399e..aaf0c29 100644
Binary files a/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.csproj.AssemblyReference.cache and b/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.csproj.AssemblyReference.cache differ
diff --git a/games/csharp_games/LostInSpace/obj/LostInSpace.csproj.nuget.dgspec.json b/games/csharp_games/LostInSpace/obj/LostInSpace.csproj.nuget.dgspec.json
index 1eef6e5..1ca4eb5 100644
--- a/games/csharp_games/LostInSpace/obj/LostInSpace.csproj.nuget.dgspec.json
+++ b/games/csharp_games/LostInSpace/obj/LostInSpace.csproj.nuget.dgspec.json
@@ -1,20 +1,20 @@
{
"format": 1,
"restore": {
- "/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj": {}
+ "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj": {}
},
"projects": {
- "/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj": {
+ "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj": {
"version": "1.0.0",
"restore": {
- "projectUniqueName": "/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj",
+ "projectUniqueName": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj",
"projectName": "LostInSpace",
- "projectPath": "/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj",
- "packagesPath": "/Users/omckeon/.nuget/packages/",
- "outputPath": "/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/",
+ "projectPath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj",
+ "packagesPath": "/Users/cjhorn/.nuget/packages/",
+ "outputPath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
- "/Users/omckeon/.nuget/NuGet/NuGet.Config"
+ "/Users/cjhorn/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
@@ -64,7 +64,7 @@
"privateAssets": "all"
}
},
- "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/8.0.302/PortableRuntimeIdentifierGraph.json"
+ "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/8.0.303/PortableRuntimeIdentifierGraph.json"
}
}
}
diff --git a/games/csharp_games/LostInSpace/obj/LostInSpace.csproj.nuget.g.props b/games/csharp_games/LostInSpace/obj/LostInSpace.csproj.nuget.g.props
index f365292..c974a86 100644
--- a/games/csharp_games/LostInSpace/obj/LostInSpace.csproj.nuget.g.props
+++ b/games/csharp_games/LostInSpace/obj/LostInSpace.csproj.nuget.g.props
@@ -4,12 +4,12 @@
True
NuGet
$(MSBuildThisFileDirectory)project.assets.json
- /Users/omckeon/.nuget/packages/
- /Users/omckeon/.nuget/packages/
+ /Users/cjhorn/.nuget/packages/
+ /Users/cjhorn/.nuget/packages/
PackageReference
6.10.0
-
+
\ No newline at end of file
diff --git a/games/csharp_games/LostInSpace/obj/project.assets.json b/games/csharp_games/LostInSpace/obj/project.assets.json
index ed7e0bd..beb858b 100644
--- a/games/csharp_games/LostInSpace/obj/project.assets.json
+++ b/games/csharp_games/LostInSpace/obj/project.assets.json
@@ -36,19 +36,19 @@
]
},
"packageFolders": {
- "/Users/omckeon/.nuget/packages/": {}
+ "/Users/cjhorn/.nuget/packages/": {}
},
"project": {
"version": "1.0.0",
"restore": {
- "projectUniqueName": "/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj",
+ "projectUniqueName": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj",
"projectName": "LostInSpace",
- "projectPath": "/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj",
- "packagesPath": "/Users/omckeon/.nuget/packages/",
- "outputPath": "/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/",
+ "projectPath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj",
+ "packagesPath": "/Users/cjhorn/.nuget/packages/",
+ "outputPath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/",
"projectStyle": "PackageReference",
"configFilePaths": [
- "/Users/omckeon/.nuget/NuGet/NuGet.Config"
+ "/Users/cjhorn/.nuget/NuGet/NuGet.Config"
],
"originalTargetFrameworks": [
"net8.0"
@@ -98,7 +98,7 @@
"privateAssets": "all"
}
},
- "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/8.0.302/PortableRuntimeIdentifierGraph.json"
+ "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/8.0.303/PortableRuntimeIdentifierGraph.json"
}
}
}
diff --git a/games/csharp_games/LostInSpace/obj/project.nuget.cache b/games/csharp_games/LostInSpace/obj/project.nuget.cache
index 3ac0289..e1fe5b4 100644
--- a/games/csharp_games/LostInSpace/obj/project.nuget.cache
+++ b/games/csharp_games/LostInSpace/obj/project.nuget.cache
@@ -1,10 +1,10 @@
{
"version": 2,
- "dgSpecHash": "YRjUtmP6Yi0=",
+ "dgSpecHash": "dzn/LKEVpPY=",
"success": true,
- "projectFilePath": "/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj",
+ "projectFilePath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/LostInSpace/LostInSpace.csproj",
"expectedPackageFiles": [
- "/Users/omckeon/.nuget/packages/splashkit/1.1.6/splashkit.1.1.6.nupkg.sha512"
+ "/Users/cjhorn/.nuget/packages/splashkit/1.1.6/splashkit.1.1.6.nupkg.sha512"
],
"logs": []
}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/.DS_Store b/games/csharp_games/PlanetProtector/.DS_Store
new file mode 100644
index 0000000..3e75b9b
Binary files /dev/null and b/games/csharp_games/PlanetProtector/.DS_Store differ
diff --git a/games/csharp_games/PlanetProtector/.gitignore b/games/csharp_games/PlanetProtector/.gitignore
new file mode 100644
index 0000000..d944fe6
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/.gitignore
@@ -0,0 +1,4 @@
+#ignore /bin and obj
+/bin
+/obj
+Resources/images/.DS_Store
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/Asteroid.cs b/games/csharp_games/PlanetProtector/Asteroid.cs
new file mode 100644
index 0000000..9636d05
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Asteroid.cs
@@ -0,0 +1,112 @@
+using SplashKitSDK;
+
+namespace PlanetProtector
+{
+ // Asteroid kind enum
+ enum AsteroidKind
+ {
+ MERCURY,
+ VENUS,
+ MARS,
+ JUPITER,
+ NEPTUNE,
+ PLUTO
+ }
+
+ public class Asteroid
+ {
+ // CONSTANTS
+ const float ASTEROID_SPEED = 3.5f; // should be 0.5f for final game
+
+ // int ASTEROID_KIND_COUNT = 6; // number of entries in the AsteroidKind enum
+
+ // need to somehow pass this into the drawing of the sprite
+ // can use public void Bitmap.DrawBitmap(double x, double y, DrawingOptions opts);
+ // but that is drawing the bitmap, not drawing the sprite
+ // DrawingOptions asteroidOptions = SplashKit.OptionRotateBmp(10);
+
+ // FIELDS
+ private Sprite _asteroidSprite;
+ private bool hitPlayer = false;
+
+
+ // CONSTRUCTOR
+ public Asteroid(int x, int y)
+ {
+ // Randomly set a new asteroids sprite
+ // _asteroidSprite = new Sprite(_AsteroidBitmap((AsteroidKind)SplashKit.Rnd(ASTEROID_KIND_COUNT)));
+ _asteroidSprite = new Sprite(SplashKit.BitmapNamed("asteroid"));
+
+ //Set asteroid x and y
+ _asteroidSprite.X = (x - _asteroidSprite.Width) / 2;
+ _asteroidSprite.Y = (y - _asteroidSprite.Height) / 2;
+
+ //Set asteroid velocity and rotation
+ _asteroidSprite.Dy = ASTEROID_SPEED;
+ }
+
+ // ACCESSORS
+ // Read-only property to return the asteroid sprite
+ public Sprite Sprite
+ {
+ get { return _asteroidSprite; }
+ }
+
+ public bool HitPlayer
+ {
+ get { return hitPlayer; }
+ }
+
+ /**
+ * -----------------------
+ * Public Methods
+ * -----------------------
+ */
+
+ // Draw the asteroid sprite
+ public void Draw()
+ {
+ _asteroidSprite.Draw();
+ }
+
+ // Update the asteroid sprite
+ public void Update()
+ {
+ _asteroidSprite.Update();
+ }
+
+ // Asteroid has hit player
+ public void HitsPlayer()
+ {
+ hitPlayer = true;
+ }
+
+ /**
+ * -----------------------
+ * Private Methods
+ * -----------------------
+ */
+
+ // Return Bitmap from Asteroid kind
+ private Bitmap _AsteroidBitmap(AsteroidKind kind)
+ {
+ switch (kind)
+ {
+ case AsteroidKind.MERCURY:
+ return SplashKit.BitmapNamed("mercury");
+ case AsteroidKind.VENUS:
+ return SplashKit.BitmapNamed("venus");
+ case AsteroidKind.MARS:
+ return SplashKit.BitmapNamed("mars");
+ case AsteroidKind.JUPITER:
+ return SplashKit.BitmapNamed("jupiter");
+ case AsteroidKind.NEPTUNE:
+ return SplashKit.BitmapNamed("neptune");
+ case AsteroidKind.PLUTO:
+ return SplashKit.BitmapNamed("pluto");
+ default:
+ return SplashKit.BitmapNamed("mercury");
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/Background.cs b/games/csharp_games/PlanetProtector/Background.cs
new file mode 100644
index 0000000..4dd0f37
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Background.cs
@@ -0,0 +1,53 @@
+using SplashKitSDK;
+
+namespace PlanetProtector
+{
+ class Background
+ {
+ // Fields
+ private Bitmap _front;
+ private Bitmap _rear;
+ private double _frontY;
+ private double _rearY;
+ private double _speed;
+
+ // Constructor
+ public Background()
+ {
+ _front = SplashKit.BitmapNamed("background_front");
+ _rear = SplashKit.BitmapNamed("background_rear");
+
+ _frontY = 0;
+ _rearY = 0;
+
+ _speed = 0.8;
+ }
+
+ // Update the background
+ public void Update()
+ {
+ _frontY += _speed * 2;
+ _rearY += _speed;
+
+ if (_frontY >= _front.Height)
+ {
+ _frontY = 0;
+ }
+
+ if (_rearY >= _rear.Height)
+ {
+ _rearY = 0;
+ }
+ }
+
+ // Draw the background
+ public void Draw()
+ {
+ SplashKit.DrawBitmap(_rear, 0, _rearY);
+ SplashKit.DrawBitmap(_rear, 0, _rearY - _rear.Height);
+
+ SplashKit.DrawBitmap(_front, 0, _frontY);
+ SplashKit.DrawBitmap(_front, 0, _frontY - _front.Height);
+ }
+ }
+}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/Bullet.cs b/games/csharp_games/PlanetProtector/Bullet.cs
new file mode 100644
index 0000000..28099ea
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Bullet.cs
@@ -0,0 +1,48 @@
+using SplashKitSDK;
+
+namespace PlanetProtector
+{
+ public class Bullet
+ {
+ // Fields
+ private Sprite _bulletSprite;
+
+ // Constructor
+ public Bullet(double x, double y)
+ {
+ // Load the bullet bitmap and create the sprite
+ _bulletSprite = SplashKit.CreateSprite(SplashKit.BitmapNamed("bullet"));
+ _bulletSprite.X = (float)x;
+ _bulletSprite.Y = (float)y;
+
+ _bulletSprite.Rotation = 270;
+ }
+
+ // Read-only property to access the bullet sprite
+ public Sprite Sprite
+ {
+ get
+ {
+ return _bulletSprite;
+ }
+ }
+
+ // Update the bullet's position
+ public void Update()
+ {
+ _bulletSprite.Y -= 10; // Move bullet up the screen
+ }
+
+ // Draw the bullet
+ public void Draw()
+ {
+ _bulletSprite.Draw();
+ }
+
+ // Check if the bullet is off-screen
+ public bool IsOffScreen(Window gameWindow)
+ {
+ return _bulletSprite.Y < -_bulletSprite.Height;
+ }
+ }
+}
diff --git a/games/csharp_games/PlanetProtector/Game.cs b/games/csharp_games/PlanetProtector/Game.cs
new file mode 100644
index 0000000..258d801
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Game.cs
@@ -0,0 +1,259 @@
+using SplashKitSDK;
+using System.Collections.Generic;
+using System.Linq;
+using System.Security.Cryptography.X509Certificates;
+
+namespace PlanetProtector
+{
+ public class Game
+ {
+ // Fields
+ private Window _gameWindow;
+ private Player _player;
+ private List _asteroids;
+ private Timer _gameTimer;
+ private bool _gameOver;
+ private Timer _asteroidTimer;
+ private Background _background;
+
+ // Constructor
+ public Game(Window gameWindow)
+ {
+ // Initialise fields
+ _gameWindow = gameWindow;
+ _player = new Player(_gameWindow);
+ _asteroids = new List();
+ _gameTimer = new Timer("GameTimer");
+ _asteroidTimer = new Timer("AsteroidTimer");
+ _gameOver = false;
+
+ _SetupLevel(3000, 3000);
+
+ _gameTimer.Reset();
+ _gameTimer.Start();
+
+ _asteroidTimer.Reset();
+ _asteroidTimer.Start();
+
+ _background = new Background();
+ }
+
+ /**
+ * -----------------------
+ * Private Methods
+ * -----------------------
+ */
+
+ // Set up the level data
+ private void _SetupLevel(int width, int height)
+ {
+ if (!_gameOver)
+ {
+ // remove any existing asteroids if needed
+ foreach (Asteroid asteroid in _asteroids)
+ {
+ SplashKit.FreeSprite(asteroid.Sprite);
+ }
+ _asteroids.Clear();
+
+ // Position in the centre of the initial screen
+ // _player.Sprite.X = (width - _player.Sprite.Width) / 2; // Translate to world coords
+ _player.Sprite.X = (_gameWindow.Width - _player.Sprite.Width) / 2;
+ _player.Sprite.Y = (_gameWindow.Height - _player.Sprite.Height) - 100;
+ }
+ }
+
+ // Draw the Heads Up Display
+ private void _DrawHud()
+ {
+
+ SplashKit.FillRectangle(SplashKit.RGBAColor(0, 0, 0, 0), 0, 0, 800, 50);
+
+ // Calculate and draw score
+ string scoreString = _player.Score.ToString(); // convert to string
+ // if there is more than one decimal place, remove any after the first
+ /* if (scoreString.IndexOf('.') != -1)
+ {
+ scoreString = scoreString.Substring(0, scoreString.IndexOf('.') + 2);
+ } */
+
+ int[] scorePosition = [_gameWindow.Width / 2 - 80, 8];
+ _gameWindow.DrawText($"SCORE: {scoreString}", Color.White, "VT323", 40, scorePosition[0], scorePosition[1]);
+
+ // draw health
+ Bitmap fullHeart = SplashKit.BitmapNamed("heart_full");
+ Bitmap emptyHeart = SplashKit.BitmapNamed("heart_empty");
+ int middle = _gameWindow.Width / 2 - 25;
+ int space = 60;
+ int[] healthX = [middle - space * 2, middle - space, middle, middle + space, middle + space * 2];
+ int healthY = 60;
+ bool[] health = _player.Health;
+ for (int i = 0; i < 5; i++)
+ {
+ if (health[i])
+ {
+ _gameWindow.DrawBitmap(fullHeart, healthX[i], healthY);
+ }
+ else
+ {
+ _gameWindow.DrawBitmap(emptyHeart, healthX[i], healthY);
+ }
+ }
+ }
+
+ // Check for player collision with asteroid
+ private void _CheckCollisions() // this also updates the score when a asteroid is
+ {
+ if (!_gameOver)
+ {
+ foreach (Asteroid asteroid in _asteroids.ToList())
+ {
+ // check player-asteroid collisions
+ if (
+ SplashKit.SpriteCollision(_player.Sprite, asteroid.Sprite)
+ && !asteroid.HitPlayer
+ )
+ {
+ asteroid.HitsPlayer();
+ _player.ReduceHealth();
+ if (!_player.IsAlive())
+ {
+ _gameOver = true;
+ }
+ else
+ {
+ SplashKit.FreeSprite(asteroid.Sprite);
+ _asteroids.Remove(asteroid);
+ }
+ // player.DeductHealth(10); // method to be added to player class
+
+ // return;
+ }
+
+ // need to call _player.DestroyAsteroid within here to increase score
+ // Check asteroid-bullet collisions
+ foreach (Bullet bullet in _player.Bullets.ToList())
+ {
+ if (SplashKit.SpriteCollision(bullet.Sprite, asteroid.Sprite))
+ {
+ _player.DestroyAsteroid(); // increase the score
+ _asteroids.Remove(asteroid); // remove the asteroid
+ _player.Bullets.Remove(bullet); // remove the bullet
+ SplashKit.FreeSprite(asteroid.Sprite); // free asteroid sprite memory
+ SplashKit.FreeSprite(bullet.Sprite); // free bullet sprite memory
+ break;
+ }
+ }
+ }
+ }
+ }
+
+ // Spawn asteroids
+ private void _SpawnAsteroids()
+ {
+ /*
+ want to adjust this so it spawns more randomly.
+ e.g. after 1s it's possible to spawn again, but the likelihood gets increased until it's certain at about 5s
+ */
+ if (_asteroidTimer.Ticks > 1000 || _asteroids.Count == 0) // spawn an asteroid every 10 seconds or if there are no asteroids
+ {
+ _asteroidTimer.Reset();
+ // not sure why but _gameWindow.Width is 800, which should be the entire width of the screen but is only half
+ int newAsteroidX = SplashKit.Rnd(_gameWindow.Width * 2);
+ _asteroids.Add(new Asteroid(newAsteroidX, -10));
+ }
+ }
+
+ // Delete asteroids
+ private void _DeleteAsteroids()
+ {
+ foreach (Asteroid asteroid in _asteroids.ToList())
+ {
+ if (asteroid.Sprite.Y > _gameWindow.Height)
+ {
+ _asteroids.Remove(asteroid);
+ SplashKit.FreeSprite(asteroid.Sprite);
+ }
+ }
+ }
+
+ private void _UpdateScore()
+ {
+ double newScore = _gameTimer.Ticks / 1000 + (_player.AsteroidsDestroyed * 10);
+ _player.SetScore(newScore);
+ }
+
+ /**
+ * -----------------------
+ * Public Methods
+ * -----------------------
+ */
+
+ public void HandleInput()
+ {
+ if (!_gameOver)
+ {
+ _player.HandleInput();
+ }
+ }
+
+ // Draw the game
+ public void DrawGame()
+ {
+ if (!_gameOver)
+ {
+ // Redraw everything
+ _gameWindow.Clear(Color.Black);
+
+ _background.Draw();
+
+ // Debug square in centre of map
+ // SplashKit.FillRectangle(Color.White, 400, 400, 10, 10);
+
+ // Draw asteroids first, so player is in front
+ foreach (Asteroid asteroid in _asteroids)
+ {
+ asteroid.Draw();
+ }
+
+ // Draw player
+ _player.Draw();
+
+ _DrawHud();
+ }
+
+ else
+ {
+ _gameWindow.DrawText("GAME OVER!", Color.White, 370, 350, SplashKit.OptionToScreen());
+ }
+
+ // Refresh screen
+ _gameWindow.Refresh(60);
+ }
+
+ // Update the game data
+ public void UpdateGame()
+ {
+ if (!_gameOver)
+ {
+ _player.Update(_gameWindow);
+
+ foreach (Asteroid asteroid in _asteroids)
+ {
+ asteroid.Update();
+ }
+
+ _SpawnAsteroids();
+
+ _CheckCollisions();
+
+ _DeleteAsteroids();
+
+ _UpdateScore();
+
+ _background.Update();
+ }
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/PlanetProtector.csproj b/games/csharp_games/PlanetProtector/PlanetProtector.csproj
new file mode 100644
index 0000000..5dfe3c1
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/PlanetProtector.csproj
@@ -0,0 +1,14 @@
+
+
+
+ Exe
+ net8.0
+ disable
+ disable
+
+
+
+
+
+
+
diff --git a/games/csharp_games/PlanetProtector/PlanetProtector.sln b/games/csharp_games/PlanetProtector/PlanetProtector.sln
new file mode 100644
index 0000000..d1a61b9
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/PlanetProtector.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.5.002.0
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PlanetProtector", "PlanetProtector.csproj", "{DA58154B-CC81-4B5F-977E-258FD29B6512}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {DA58154B-CC81-4B5F-977E-258FD29B6512}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DA58154B-CC81-4B5F-977E-258FD29B6512}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DA58154B-CC81-4B5F-977E-258FD29B6512}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DA58154B-CC81-4B5F-977E-258FD29B6512}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {650B2840-E439-4E43-B47B-8852AC064966}
+ EndGlobalSection
+EndGlobal
diff --git a/games/csharp_games/PlanetProtector/Player.cs b/games/csharp_games/PlanetProtector/Player.cs
new file mode 100644
index 0000000..ac26fab
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Player.cs
@@ -0,0 +1,262 @@
+using SplashKitSDK;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace PlanetProtector
+{
+ // Ship kind enum
+ public enum ShipKind
+ {
+ AQUARII,
+ GLIESE,
+ PEGASI
+ }
+
+ public class Player
+ {
+ // Constants
+ const float PLAYER_SPEED = 9.5f;
+
+ // Fields
+ private Sprite _playerSprite;
+ private ShipKind _kind;
+ private List _bullets;
+ private double _score;
+ private int _asteroidsDestroyed;
+ private bool[] _health;
+
+ // Constructor
+ public Player(Window gameWindow)
+ {
+ // Default Ship kind
+ _kind = ShipKind.AQUARII;
+
+ // Create the sprite with 3 layers - we can turn on and off based
+ // on the ship kind selected
+ _playerSprite = SplashKit.CreateSprite(_ShipBitmap(_kind));
+ _playerSprite.AddLayer(_ShipBitmap(ShipKind.GLIESE), "GLIESE");
+ _playerSprite.AddLayer(_ShipBitmap(ShipKind.PEGASI), "PEGASI");
+
+ // Default to layer 0 = Aquarii so hide others
+ _playerSprite.HideLayer(1);
+ _playerSprite.HideLayer(2);
+ _playerSprite.Rotation = 270;
+ _bullets = new List();
+
+ _health = new bool[] { true, true, true, true, true }; // start off with 5 hearts
+
+ _asteroidsDestroyed = 0;
+ _score = 0;
+ }
+
+ // Read-only property to return the player sprite
+ public Sprite Sprite
+ {
+ get { return _playerSprite; }
+ }
+
+ public double Score
+ {
+ get { return _score; }
+ }
+
+ public bool[] Health
+ {
+ get { return _health; }
+ }
+
+ public int AsteroidsDestroyed
+ {
+ get { return _asteroidsDestroyed; }
+ }
+
+ public List Bullets
+ {
+ get { return _bullets; }
+ }
+
+
+ /**
+ * -----------------------
+ * Public Methods
+ * -----------------------
+ */
+
+ // Handle the user inputs for the player movement
+ public void HandleInput()
+ {
+ // Allow the player to switch ships
+ if (SplashKit.KeyTyped(KeyCode.Num1Key))
+ _SwitchShip(ShipKind.AQUARII);
+ if (SplashKit.KeyTyped(KeyCode.Num2Key))
+ _SwitchShip(ShipKind.GLIESE);
+ if (SplashKit.KeyTyped(KeyCode.Num3Key))
+ _SwitchShip(ShipKind.PEGASI);
+
+ // Handle movement - moving left/right
+ float dx = _playerSprite.X;
+
+ // Allow for movement on the x axis with border restrictions
+ if (
+ (SplashKit.KeyDown(KeyCode.LeftKey) || SplashKit.KeyDown(KeyCode.AKey))
+ && _playerSprite.X > -10
+ )
+ {
+ _playerSprite.X = dx - PLAYER_SPEED; // move left
+ }
+
+ if (
+ (SplashKit.KeyDown(KeyCode.RightKey) || SplashKit.KeyDown(KeyCode.DKey))
+ && _playerSprite.X < 740
+ )
+ {
+ _playerSprite.X = dx + PLAYER_SPEED; // move right
+ }
+
+ if (SplashKit.KeyTyped(KeyCode.SpaceKey))
+ {
+ Shoot();
+ }
+
+ }
+
+ public void SetScore(double newScore)
+ {
+ _score = newScore;
+ }
+
+ // Draw the player sprite
+ public void Draw()
+ {
+ _playerSprite.Draw();
+ foreach (Bullet bullet in _bullets)
+ {
+ bullet.Draw();
+ }
+ }
+
+ // Update the player sprite and camera movement
+ public void Update(Window gameWindow)
+ {
+ // Apply movement based on rotation and velocity in the sprite
+ _playerSprite.Update();
+ // Update bullets and remove any that are off-screen
+ _bullets = _bullets.Where(bullet => !bullet.IsOffScreen(gameWindow)).ToList();
+ foreach (Bullet bullet in _bullets)
+ {
+ bullet.Update();
+ }
+ }
+
+ // Calculate the distance to asteroid
+ public float DistanceToAsteroid(Asteroid asteroid)
+ {
+ if (asteroid == null) // at start of game there are no asteroids
+ return 0;
+
+ // Returns distance between two points
+ return SplashKit.PointPointDistance(_playerSprite.CenterPoint, asteroid.Sprite.CenterPoint);
+ }
+
+ public void DestroyAsteroid()
+ {
+ _asteroidsDestroyed++;
+ }
+
+ // Return the closest asteroid
+ public Asteroid ClosestAsteroid(List asteroids)
+ {
+ Asteroid result = null;
+
+ double closest_distance = 0;
+ double asteroid_distance;
+
+ foreach (Asteroid asteroid in asteroids)
+ {
+ asteroid_distance = DistanceToAsteroid(asteroid);
+ if (result == null || asteroid_distance < closest_distance)
+ {
+ closest_distance = asteroid_distance;
+ result = asteroid;
+ }
+ }
+
+ return result;
+ }
+
+ public void ReduceHealth()
+ {
+ // Find the last true in the health array and set it to false
+ for (int i = _health.Length - 1; i >= 0; i--)
+ {
+ if (_health[i])
+ {
+ _health[i] = false;
+ break;
+ }
+ }
+ }
+
+ public bool IsAlive()
+ {
+ // loop through each element in _health array
+ for (int i = 0; i < _health.Length; i++)
+ {
+ // if true, the player is still alive
+ if (_health[i])
+ {
+ return true;
+ }
+ }
+ // if not, the player is not alive
+ return false;
+ }
+
+
+
+ /**
+ * -----------------------
+ * Private Methods
+ * -----------------------
+ */
+
+ // Return Bitmap from Ship kind
+ private Bitmap _ShipBitmap(ShipKind kind)
+ {
+ switch (kind)
+ {
+ case ShipKind.GLIESE:
+ return SplashKit.BitmapNamed("gliese");
+ case ShipKind.PEGASI:
+ return SplashKit.BitmapNamed("pegasi");
+ case ShipKind.AQUARII:
+ default:
+ return SplashKit.BitmapNamed("aquarii");
+ }
+ }
+
+ // Switch the player's sprite layer based on the ShipKind
+ private void _SwitchShip(ShipKind target)
+ {
+ // only do this if there is a change
+ if (_kind != target)
+ {
+ // show then hide layers
+ _playerSprite.ShowLayer((int)(target));
+ _playerSprite.HideLayer((int)(_kind));
+
+ // remember what is currently shown
+ _kind = target;
+ }
+ }
+
+ private void Shoot()
+ {
+ // Create a new bullet and add it to the list
+ double bulletWidth = SplashKit.BitmapNamed("bullet").Width;
+ double bulletStartX = _playerSprite.X + (_playerSprite.Width / 2) - (bulletWidth / 2);
+ Bullet bullet = new Bullet(bulletStartX, _playerSprite.Y);
+ _bullets.Add(bullet);
+ }
+ }
+}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/Program.cs b/games/csharp_games/PlanetProtector/Program.cs
new file mode 100644
index 0000000..be45515
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Program.cs
@@ -0,0 +1,42 @@
+using SplashKitSDK;
+
+namespace PlanetProtector
+{
+ public class Program
+ {
+ public static void Main(string[] args)
+ {
+ // Load the game images, sounds, etc.
+ SplashKit.LoadResourceBundle("game_bundle", "lost_in_space.txt");
+ SplashKit.LoadBitmap("bullet", "bullet.png");
+ SplashKit.LoadBitmap("asteroid", "asteroid_100px.png");
+ SplashKit.LoadBitmap("heart_full", "heart_full_50px.png");
+ SplashKit.LoadBitmap("heart_empty", "heart_empty_50px.png");
+ SplashKit.LoadFont("VT323", "VT323-Regular.ttf");
+ SplashKit.LoadBitmap("background_front", "background-front.png");
+ SplashKit.LoadBitmap("background_rear", "background-rear.png");
+
+ Window window = new Window("Lost In Space", 800, 700); // name width height
+
+ // Create new Game object
+ Game game = new Game(window);
+
+ while (!SplashKit.QuitRequested())
+ {
+ // Handle input to adjust player movement
+ SplashKit.ProcessEvents();
+ game.HandleInput();
+
+ // Perform movement and update the camera
+ game.UpdateGame();
+
+ // Draw everything
+ game.DrawGame();
+ }
+
+ // Free memory
+ SplashKit.FreeAllSprites();
+ SplashKit.CloseAllWindows();
+ }
+ }
+}
diff --git a/games/csharp_games/PlanetProtector/Resources/.DS_Store b/games/csharp_games/PlanetProtector/Resources/.DS_Store
new file mode 100644
index 0000000..10e8484
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/.DS_Store differ
diff --git a/games/csharp_games/PlanetProtector/Resources/animations/coin_animation.txt b/games/csharp_games/PlanetProtector/Resources/animations/coin_animation.txt
new file mode 100644
index 0000000..131f1a7
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Resources/animations/coin_animation.txt
@@ -0,0 +1,14 @@
+SplashKit Animation
+
+//Multi-frame: ranges are in[]
+//[a-b] = numbers from a to b inclusive
+//[a,b,c] = explicit values
+//[a-b,c] = combination
+// frame numbers, cell numbers, duration, next frame
+
+// The coin has 6 cells, so create 6 animation frames
+// Play each of 12 updates, then go back to the first one
+m:[0-5],[0-5],12,0
+
+//identifiers
+i:Spin,0
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/Resources/animations/readme.txt b/games/csharp_games/PlanetProtector/Resources/animations/readme.txt
new file mode 100644
index 0000000..58dbf61
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Resources/animations/readme.txt
@@ -0,0 +1,8 @@
+You can place scripts for animations in this folder.
+
+SplashKit Animation
+
+//Multi-frame: ranges are in[]
+//[a-b] = numbers from a to b inclusive
+//[a,b,c] = explicit values
+//[a-b,c] = combination
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/Resources/bundles/lost_in_space.txt b/games/csharp_games/PlanetProtector/Resources/bundles/lost_in_space.txt
new file mode 100644
index 0000000..aa789a1
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Resources/bundles/lost_in_space.txt
@@ -0,0 +1,23 @@
+// Ships
+BITMAP,aquarii,Aquarii.png
+BITMAP,gliese,Gliese.png
+BITMAP,pegasi,Pegasi.png
+// Planets
+BITMAP,earth,earth.png
+BITMAP,jupiter,jupiter.png
+BITMAP,mars,mars.png
+BITMAP,mercury,mercury.png
+BITMAP,neptune,neptune.png
+BITMAP,pluto,pluto.png
+BITMAP,saturn,saturn.png
+BITMAP,uranus,uranus.png
+BITMAP,venus,venus.png
+// Coins
+BITMAP,silver_coin,silver_coin.png,26,26,6,1,6
+BITMAP,bronse_coin,bronse_coin.png,26,26,6,1,6
+BITMAP,gold_coin,gold_coin.png,26,26,6,1,6
+// Other
+BITMAP,box,box.png
+BITMAP,empty,empty.png
+BITMAP,full,full.png
+ANIM,coins,coin_animation.txt
diff --git a/games/csharp_games/PlanetProtector/Resources/fonts/VT323-Regular.ttf b/games/csharp_games/PlanetProtector/Resources/fonts/VT323-Regular.ttf
new file mode 100644
index 0000000..6aec599
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/fonts/VT323-Regular.ttf differ
diff --git a/games/csharp_games/PlanetProtector/Resources/fonts/readme.txt b/games/csharp_games/PlanetProtector/Resources/fonts/readme.txt
new file mode 100644
index 0000000..18d42aa
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Resources/fonts/readme.txt
@@ -0,0 +1 @@
+You can place fonts in this folder. Fonts can be otf or ttf files.
diff --git a/games/csharp_games/PlanetProtector/Resources/images/Aquarii.png b/games/csharp_games/PlanetProtector/Resources/images/Aquarii.png
new file mode 100644
index 0000000..0afc6a0
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/Aquarii.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/Gliese.png b/games/csharp_games/PlanetProtector/Resources/images/Gliese.png
new file mode 100644
index 0000000..0388ee5
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/Gliese.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/Pegasi.png b/games/csharp_games/PlanetProtector/Resources/images/Pegasi.png
new file mode 100644
index 0000000..bfe83d2
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/Pegasi.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/asteroid_100px.png b/games/csharp_games/PlanetProtector/Resources/images/asteroid_100px.png
new file mode 100644
index 0000000..89b7757
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/asteroid_100px.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/background-front.png b/games/csharp_games/PlanetProtector/Resources/images/background-front.png
new file mode 100644
index 0000000..1c3d598
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/background-front.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/background-rear.png b/games/csharp_games/PlanetProtector/Resources/images/background-rear.png
new file mode 100644
index 0000000..c204c35
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/background-rear.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/bar_grey_fill.png b/games/csharp_games/PlanetProtector/Resources/images/bar_grey_fill.png
new file mode 100644
index 0000000..42ec2e6
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/bar_grey_fill.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/bar_white_fill.png b/games/csharp_games/PlanetProtector/Resources/images/bar_white_fill.png
new file mode 100644
index 0000000..a95dd72
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/bar_white_fill.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/blue_bar_bubbles.png b/games/csharp_games/PlanetProtector/Resources/images/blue_bar_bubbles.png
new file mode 100644
index 0000000..741439c
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/blue_bar_bubbles.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/box.png b/games/csharp_games/PlanetProtector/Resources/images/box.png
new file mode 100644
index 0000000..ff4f905
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/box.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/bronse_coin.png b/games/csharp_games/PlanetProtector/Resources/images/bronse_coin.png
new file mode 100644
index 0000000..8df3c88
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/bronse_coin.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/bullet.png b/games/csharp_games/PlanetProtector/Resources/images/bullet.png
new file mode 100644
index 0000000..c31763c
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/bullet.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/earth.png b/games/csharp_games/PlanetProtector/Resources/images/earth.png
new file mode 100644
index 0000000..b41249f
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/earth.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/empty.png b/games/csharp_games/PlanetProtector/Resources/images/empty.png
new file mode 100644
index 0000000..3a01d07
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/empty.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/empty_bar_transparent.png b/games/csharp_games/PlanetProtector/Resources/images/empty_bar_transparent.png
new file mode 100644
index 0000000..8dc78a0
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/empty_bar_transparent.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/full.png b/games/csharp_games/PlanetProtector/Resources/images/full.png
new file mode 100644
index 0000000..3f6c26e
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/full.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/gold_coin.png b/games/csharp_games/PlanetProtector/Resources/images/gold_coin.png
new file mode 100644
index 0000000..e0d17cc
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/gold_coin.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/green_bar_bubbles.png b/games/csharp_games/PlanetProtector/Resources/images/green_bar_bubbles.png
new file mode 100644
index 0000000..7dc80f8
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/green_bar_bubbles.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/green_bar_lines.png b/games/csharp_games/PlanetProtector/Resources/images/green_bar_lines.png
new file mode 100644
index 0000000..c504909
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/green_bar_lines.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/heart_empty_50px.png b/games/csharp_games/PlanetProtector/Resources/images/heart_empty_50px.png
new file mode 100644
index 0000000..5710228
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/heart_empty_50px.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/heart_full_50px.png b/games/csharp_games/PlanetProtector/Resources/images/heart_full_50px.png
new file mode 100644
index 0000000..054dd72
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/heart_full_50px.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/jupiter.png b/games/csharp_games/PlanetProtector/Resources/images/jupiter.png
new file mode 100644
index 0000000..0135134
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/jupiter.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/mars.png b/games/csharp_games/PlanetProtector/Resources/images/mars.png
new file mode 100644
index 0000000..1e18d60
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/mars.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/mercury.png b/games/csharp_games/PlanetProtector/Resources/images/mercury.png
new file mode 100644
index 0000000..a8c162e
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/mercury.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/neptune.png b/games/csharp_games/PlanetProtector/Resources/images/neptune.png
new file mode 100644
index 0000000..762299b
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/neptune.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/orange_bar.png b/games/csharp_games/PlanetProtector/Resources/images/orange_bar.png
new file mode 100644
index 0000000..17d4d76
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/orange_bar.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/orange_bar_lines.png b/games/csharp_games/PlanetProtector/Resources/images/orange_bar_lines.png
new file mode 100644
index 0000000..119ea45
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/orange_bar_lines.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/pluto.png b/games/csharp_games/PlanetProtector/Resources/images/pluto.png
new file mode 100644
index 0000000..35a306e
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/pluto.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/purple_bar.png b/games/csharp_games/PlanetProtector/Resources/images/purple_bar.png
new file mode 100644
index 0000000..99eaf5e
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/purple_bar.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/readme.txt b/games/csharp_games/PlanetProtector/Resources/images/readme.txt
new file mode 100644
index 0000000..5d8bc90
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Resources/images/readme.txt
@@ -0,0 +1 @@
+Place images in this folder. SplashKit can work with png, jpeg, jpg, or tif files.
diff --git a/games/csharp_games/PlanetProtector/Resources/images/red_bar.png b/games/csharp_games/PlanetProtector/Resources/images/red_bar.png
new file mode 100644
index 0000000..80b9a4b
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/red_bar.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/saturn.png b/games/csharp_games/PlanetProtector/Resources/images/saturn.png
new file mode 100644
index 0000000..f349186
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/saturn.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/silver_coin.png b/games/csharp_games/PlanetProtector/Resources/images/silver_coin.png
new file mode 100644
index 0000000..6e28b99
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/silver_coin.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/uranus.png b/games/csharp_games/PlanetProtector/Resources/images/uranus.png
new file mode 100644
index 0000000..a46356b
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/uranus.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/images/venus.png b/games/csharp_games/PlanetProtector/Resources/images/venus.png
new file mode 100644
index 0000000..1c21fe5
Binary files /dev/null and b/games/csharp_games/PlanetProtector/Resources/images/venus.png differ
diff --git a/games/csharp_games/PlanetProtector/Resources/json/readme.txt b/games/csharp_games/PlanetProtector/Resources/json/readme.txt
new file mode 100644
index 0000000..22cb409
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Resources/json/readme.txt
@@ -0,0 +1 @@
+You can place json file in this folder for your program to read.
diff --git a/games/csharp_games/PlanetProtector/Resources/server/readme.txt b/games/csharp_games/PlanetProtector/Resources/server/readme.txt
new file mode 100644
index 0000000..c021a6a
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Resources/server/readme.txt
@@ -0,0 +1 @@
+You can place files in this folder for the webserver to return.
diff --git a/games/csharp_games/PlanetProtector/Resources/sounds/readme.txt b/games/csharp_games/PlanetProtector/Resources/sounds/readme.txt
new file mode 100644
index 0000000..06ca9c8
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/Resources/sounds/readme.txt
@@ -0,0 +1 @@
+You can place sound effects in this folder. SplashKit can play ogg, wav, mod, flac, and mp3
diff --git a/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace
new file mode 100755
index 0000000..717ece5
Binary files /dev/null and b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace differ
diff --git a/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.deps.json b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.deps.json
new file mode 100644
index 0000000..c52b747
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.deps.json
@@ -0,0 +1,41 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v8.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v8.0": {
+ "LostInSpace/1.0.0": {
+ "dependencies": {
+ "SplashKit": "1.1.6"
+ },
+ "runtime": {
+ "LostInSpace.dll": {}
+ }
+ },
+ "SplashKit/1.1.6": {
+ "runtime": {
+ "lib/net8.0/SplashKitSDK.dll": {
+ "assemblyVersion": "1.1.6.0",
+ "fileVersion": "1.1.6.0"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "LostInSpace/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "SplashKit/1.1.6": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-5t9sdDusii1HuJbiK25h/PEaz25HiTNEnpmaRlawfXCvbeHKyWAxsfUfwtHNUOiC6nz7CKujYnRh8Oy69+zEGw==",
+ "path": "splashkit/1.1.6",
+ "hashPath": "splashkit.1.1.6.nupkg.sha512"
+ }
+ }
+}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.pdb b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.pdb
new file mode 100644
index 0000000..19c8754
Binary files /dev/null and b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.pdb differ
diff --git a/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.runtimeconfig.json b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.runtimeconfig.json
new file mode 100644
index 0000000..becfaea
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.runtimeconfig.json
@@ -0,0 +1,12 @@
+{
+ "runtimeOptions": {
+ "tfm": "net8.0",
+ "framework": {
+ "name": "Microsoft.NETCore.App",
+ "version": "8.0.0"
+ },
+ "configProperties": {
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector
new file mode 100755
index 0000000..de78ba5
Binary files /dev/null and b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector differ
diff --git a/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.deps.json b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.deps.json
new file mode 100644
index 0000000..123c8e4
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.deps.json
@@ -0,0 +1,41 @@
+{
+ "runtimeTarget": {
+ "name": ".NETCoreApp,Version=v8.0",
+ "signature": ""
+ },
+ "compilationOptions": {},
+ "targets": {
+ ".NETCoreApp,Version=v8.0": {
+ "PlanetProtector/1.0.0": {
+ "dependencies": {
+ "SplashKit": "1.1.6"
+ },
+ "runtime": {
+ "PlanetProtector.dll": {}
+ }
+ },
+ "SplashKit/1.1.6": {
+ "runtime": {
+ "lib/net8.0/SplashKitSDK.dll": {
+ "assemblyVersion": "1.1.6.0",
+ "fileVersion": "1.1.6.0"
+ }
+ }
+ }
+ }
+ },
+ "libraries": {
+ "PlanetProtector/1.0.0": {
+ "type": "project",
+ "serviceable": false,
+ "sha512": ""
+ },
+ "SplashKit/1.1.6": {
+ "type": "package",
+ "serviceable": true,
+ "sha512": "sha512-5t9sdDusii1HuJbiK25h/PEaz25HiTNEnpmaRlawfXCvbeHKyWAxsfUfwtHNUOiC6nz7CKujYnRh8Oy69+zEGw==",
+ "path": "splashkit/1.1.6",
+ "hashPath": "splashkit.1.1.6.nupkg.sha512"
+ }
+ }
+}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.pdb b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.pdb
new file mode 100644
index 0000000..7ed676f
Binary files /dev/null and b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.pdb differ
diff --git a/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.runtimeconfig.json b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.runtimeconfig.json
new file mode 100644
index 0000000..becfaea
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.runtimeconfig.json
@@ -0,0 +1,12 @@
+{
+ "runtimeOptions": {
+ "tfm": "net8.0",
+ "framework": {
+ "name": "Microsoft.NETCore.App",
+ "version": "8.0.0"
+ },
+ "configProperties": {
+ "System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
+ }
+ }
+}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/logs/splashkit.log b/games/csharp_games/PlanetProtector/logs/splashkit.log
new file mode 100644
index 0000000..23a5e24
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/logs/splashkit.log
@@ -0,0 +1,2 @@
+(16/08/2024) WARNING -> Unable to locate file for background_front (/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/Resources/images/background_front.png) [raised in images.cpp:102]
+(16/08/2024) WARNING -> Unable to locate file for background_rear (/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/Resources/images/background_rear.png) [raised in images.cpp:102]
diff --git a/games/csharp_games/PlanetProtector/myeasylog.log b/games/csharp_games/PlanetProtector/myeasylog.log
new file mode 100644
index 0000000..e69de29
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
new file mode 100644
index 0000000..dca70aa
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/.NETCoreApp,Version=v8.0.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+//
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSp.9E4A8915.Up2Date b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSp.9E4A8915.Up2Date
new file mode 100644
index 0000000..e69de29
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.AssemblyInfo.cs b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.AssemblyInfo.cs
new file mode 100644
index 0000000..5350ef4
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.AssemblyInfo.cs
@@ -0,0 +1,22 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("LostInSpace")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+190740523f2649b58da85bdbe07984ed7ba23ffc")]
+[assembly: System.Reflection.AssemblyProductAttribute("LostInSpace")]
+[assembly: System.Reflection.AssemblyTitleAttribute("LostInSpace")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.AssemblyInfoInputs.cache b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..469955e
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+9ce782ca44da7a391c4a8501013fa678c88ca272dbc8c138c1c3affa2ed53d5f
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.GeneratedMSBuildEditorConfig.editorconfig b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..17e96e3
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,13 @@
+is_global = true
+build_property.TargetFramework = net8.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = LostInSpace
+build_property.ProjectDir = /Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.GlobalUsings.g.cs b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.GlobalUsings.g.cs
new file mode 100644
index 0000000..8578f3d
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.GlobalUsings.g.cs
@@ -0,0 +1,8 @@
+//
+global using global::System;
+global using global::System.Collections.Generic;
+global using global::System.IO;
+global using global::System.Linq;
+global using global::System.Net.Http;
+global using global::System.Threading;
+global using global::System.Threading.Tasks;
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.assets.cache b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.assets.cache
new file mode 100644
index 0000000..a7bb871
Binary files /dev/null and b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.assets.cache differ
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.csproj.AssemblyReference.cache b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..aaf0c29
Binary files /dev/null and b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.csproj.AssemblyReference.cache differ
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.csproj.CoreCompileInputs.cache b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..2eb4cfa
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+6dd431c4d88fe141f0d2bc82927e9dc90bda78d1deae609a71c9c2c5bcd76aa1
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.csproj.FileListAbsolute.txt b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..61bd813
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.csproj.FileListAbsolute.txt
@@ -0,0 +1,36 @@
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/bin/Debug/net8.0/LostInSpace
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/bin/Debug/net8.0/LostInSpace.deps.json
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/bin/Debug/net8.0/LostInSpace.runtimeconfig.json
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/bin/Debug/net8.0/LostInSpace.dll
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/bin/Debug/net8.0/LostInSpace.pdb
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/bin/Debug/net8.0/SplashKitSDK.dll
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.csproj.AssemblyReference.cache
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.GeneratedMSBuildEditorConfig.editorconfig
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.AssemblyInfoInputs.cache
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.AssemblyInfo.cs
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.csproj.CoreCompileInputs.cache
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.sourcelink.json
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSp.9E4A8915.Up2Date
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.dll
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/refint/LostInSpace.dll
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.pdb
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/LostInSpace.genruntimeconfig.cache
+/Users/omckeon/Desktop/OLIVIA/4-GitHubRepos/Thoth-Repos/arcade-hackathon-project/games/csharp_games/LostInSpace/obj/Debug/net8.0/ref/LostInSpace.dll
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.deps.json
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.runtimeconfig.json
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.dll
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/LostInSpace.pdb
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/SplashKitSDK.dll
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.csproj.AssemblyReference.cache
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.GeneratedMSBuildEditorConfig.editorconfig
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.AssemblyInfoInputs.cache
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.AssemblyInfo.cs
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.csproj.CoreCompileInputs.cache
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.sourcelink.json
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSp.9E4A8915.Up2Date
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.dll
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/refint/LostInSpace.dll
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.pdb
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.genruntimeconfig.cache
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/ref/LostInSpace.dll
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.genruntimeconfig.cache b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.genruntimeconfig.cache
new file mode 100644
index 0000000..b5e8880
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.genruntimeconfig.cache
@@ -0,0 +1 @@
+2f96ac6f977ce3c84a47ddaf6a7ae3f5d1800732b105b7f20e98306a3f02a983
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.pdb b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.pdb
new file mode 100644
index 0000000..19c8754
Binary files /dev/null and b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.pdb differ
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.sourcelink.json b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.sourcelink.json
new file mode 100644
index 0000000..8ce5ff1
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/LostInSpace.sourcelink.json
@@ -0,0 +1 @@
+{"documents":{"/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/*":"https://raw.githubusercontent.com/charliejhorn/arcade-hackathon-project/190740523f2649b58da85bdbe07984ed7ba23ffc/*"}}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetPr.DA7266E3.Up2Date b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetPr.DA7266E3.Up2Date
new file mode 100644
index 0000000..e69de29
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.AssemblyInfo.cs b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.AssemblyInfo.cs
new file mode 100644
index 0000000..db13d5b
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.AssemblyInfo.cs
@@ -0,0 +1,22 @@
+//------------------------------------------------------------------------------
+//
+// This code was generated by a tool.
+//
+// Changes to this file may cause incorrect behavior and will be lost if
+// the code is regenerated.
+//
+//------------------------------------------------------------------------------
+
+using System;
+using System.Reflection;
+
+[assembly: System.Reflection.AssemblyCompanyAttribute("PlanetProtector")]
+[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
+[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
+[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+d179f7134ec42d15ad4655932a5392d9c0417348")]
+[assembly: System.Reflection.AssemblyProductAttribute("PlanetProtector")]
+[assembly: System.Reflection.AssemblyTitleAttribute("PlanetProtector")]
+[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
+
+// Generated by the MSBuild WriteCodeFragment class.
+
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.AssemblyInfoInputs.cache b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.AssemblyInfoInputs.cache
new file mode 100644
index 0000000..7a771e4
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.AssemblyInfoInputs.cache
@@ -0,0 +1 @@
+77f48489ca2937206bfcafe9efde72550f7add34bd976cd67bafaeec43597efa
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.GeneratedMSBuildEditorConfig.editorconfig b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..d0bbce4
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,13 @@
+is_global = true
+build_property.TargetFramework = net8.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.InvariantGlobalization =
+build_property.PlatformNeutralAssembly =
+build_property.EnforceExtendedAnalyzerRules =
+build_property._SupportedPlatformList = Linux,macOS,Windows
+build_property.RootNamespace = PlanetProtector
+build_property.ProjectDir = /Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/
+build_property.EnableComHosting =
+build_property.EnableGeneratedComInterfaceComImportInterop =
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.assets.cache b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.assets.cache
new file mode 100644
index 0000000..d57de4f
Binary files /dev/null and b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.assets.cache differ
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.AssemblyReference.cache b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.AssemblyReference.cache
new file mode 100644
index 0000000..aaf0c29
Binary files /dev/null and b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.AssemblyReference.cache differ
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.CoreCompileInputs.cache b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..7287be8
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+c7851c6b36391cd2fd81488d6cf457420f212ee72ece5fe6f8ae589a81958a61
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.FileListAbsolute.txt b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..b0d908d
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.FileListAbsolute.txt
@@ -0,0 +1,36 @@
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.deps.json
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.runtimeconfig.json
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.dll
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.pdb
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/SplashKitSDK.dll
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.AssemblyReference.cache
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.GeneratedMSBuildEditorConfig.editorconfig
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.AssemblyInfoInputs.cache
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.AssemblyInfo.cs
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.CoreCompileInputs.cache
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.sourcelink.json
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetPr.DA7266E3.Up2Date
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.dll
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/refint/PlanetProtector.dll
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.pdb
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.genruntimeconfig.cache
+/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/ref/PlanetProtector.dll
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.exe
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.deps.json
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.runtimeconfig.json
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.dll
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/PlanetProtector.pdb
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/bin/Debug/net8.0/SplashKitSDK.dll
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.AssemblyReference.cache
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.GeneratedMSBuildEditorConfig.editorconfig
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.AssemblyInfoInputs.cache
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.AssemblyInfo.cs
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.csproj.CoreCompileInputs.cache
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.sourcelink.json
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetPr.DA7266E3.Up2Date
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.dll
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/refint/PlanetProtector.dll
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.pdb
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.genruntimeconfig.cache
+C:/Users/s224423229/OneDrive - Deakin University/Desktop/Deakin/Year 1/Trimester 2/Hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/Debug/net8.0/ref/PlanetProtector.dll
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.genruntimeconfig.cache b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.genruntimeconfig.cache
new file mode 100644
index 0000000..b5e8880
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.genruntimeconfig.cache
@@ -0,0 +1 @@
+2f96ac6f977ce3c84a47ddaf6a7ae3f5d1800732b105b7f20e98306a3f02a983
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.pdb b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.pdb
new file mode 100644
index 0000000..7ed676f
Binary files /dev/null and b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.pdb differ
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.sourcelink.json b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.sourcelink.json
new file mode 100644
index 0000000..e17df96
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/PlanetProtector.sourcelink.json
@@ -0,0 +1 @@
+{"documents":{"/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/*":"https://raw.githubusercontent.com/charliejhorn/arcade-hackathon-project/d179f7134ec42d15ad4655932a5392d9c0417348/*"}}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/obj/Debug/net8.0/apphost b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/apphost
new file mode 100755
index 0000000..de78ba5
Binary files /dev/null and b/games/csharp_games/PlanetProtector/obj/Debug/net8.0/apphost differ
diff --git a/games/csharp_games/PlanetProtector/obj/LostInSpace.csproj.nuget.dgspec.json b/games/csharp_games/PlanetProtector/obj/LostInSpace.csproj.nuget.dgspec.json
new file mode 100644
index 0000000..767ec49
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/LostInSpace.csproj.nuget.dgspec.json
@@ -0,0 +1,72 @@
+{
+ "format": 1,
+ "restore": {
+ "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/LostInSpace.csproj": {}
+ },
+ "projects": {
+ "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/LostInSpace.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/LostInSpace.csproj",
+ "projectName": "LostInSpace",
+ "projectPath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/LostInSpace.csproj",
+ "packagesPath": "/Users/cjhorn/.nuget/packages/",
+ "outputPath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "/Users/cjhorn/.nuget/NuGet/NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ }
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "SplashKit": {
+ "target": "Package",
+ "version": "[1.1.6, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/8.0.303/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/obj/LostInSpace.csproj.nuget.g.props b/games/csharp_games/PlanetProtector/obj/LostInSpace.csproj.nuget.g.props
new file mode 100644
index 0000000..c974a86
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/LostInSpace.csproj.nuget.g.props
@@ -0,0 +1,15 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ /Users/cjhorn/.nuget/packages/
+ /Users/cjhorn/.nuget/packages/
+ PackageReference
+ 6.10.0
+
+
+
+
+
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/obj/LostInSpace.csproj.nuget.g.targets b/games/csharp_games/PlanetProtector/obj/LostInSpace.csproj.nuget.g.targets
new file mode 100644
index 0000000..3dc06ef
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/LostInSpace.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/obj/PlanetProtector.csproj.nuget.dgspec.json b/games/csharp_games/PlanetProtector/obj/PlanetProtector.csproj.nuget.dgspec.json
new file mode 100644
index 0000000..43779b5
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/PlanetProtector.csproj.nuget.dgspec.json
@@ -0,0 +1,72 @@
+{
+ "format": 1,
+ "restore": {
+ "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/PlanetProtector.csproj": {}
+ },
+ "projects": {
+ "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/PlanetProtector.csproj": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/PlanetProtector.csproj",
+ "projectName": "PlanetProtector",
+ "projectPath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/PlanetProtector.csproj",
+ "packagesPath": "/Users/cjhorn/.nuget/packages/",
+ "outputPath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "/Users/cjhorn/.nuget/NuGet/NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ }
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "SplashKit": {
+ "target": "Package",
+ "version": "[1.1.6, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/8.0.303/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/obj/PlanetProtector.csproj.nuget.g.props b/games/csharp_games/PlanetProtector/obj/PlanetProtector.csproj.nuget.g.props
new file mode 100644
index 0000000..c974a86
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/PlanetProtector.csproj.nuget.g.props
@@ -0,0 +1,15 @@
+
+
+
+ True
+ NuGet
+ $(MSBuildThisFileDirectory)project.assets.json
+ /Users/cjhorn/.nuget/packages/
+ /Users/cjhorn/.nuget/packages/
+ PackageReference
+ 6.10.0
+
+
+
+
+
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/obj/PlanetProtector.csproj.nuget.g.targets b/games/csharp_games/PlanetProtector/obj/PlanetProtector.csproj.nuget.g.targets
new file mode 100644
index 0000000..3dc06ef
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/PlanetProtector.csproj.nuget.g.targets
@@ -0,0 +1,2 @@
+
+
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/obj/project.assets.json b/games/csharp_games/PlanetProtector/obj/project.assets.json
new file mode 100644
index 0000000..ac0b474
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/project.assets.json
@@ -0,0 +1,105 @@
+{
+ "version": 3,
+ "targets": {
+ "net8.0": {
+ "SplashKit/1.1.6": {
+ "type": "package",
+ "compile": {
+ "lib/net8.0/SplashKitSDK.dll": {}
+ },
+ "runtime": {
+ "lib/net8.0/SplashKitSDK.dll": {}
+ }
+ }
+ }
+ },
+ "libraries": {
+ "SplashKit/1.1.6": {
+ "sha512": "5t9sdDusii1HuJbiK25h/PEaz25HiTNEnpmaRlawfXCvbeHKyWAxsfUfwtHNUOiC6nz7CKujYnRh8Oy69+zEGw==",
+ "type": "package",
+ "path": "splashkit/1.1.6",
+ "files": [
+ ".nupkg.metadata",
+ ".signature.p7s",
+ "lib/net6.0/SplashKitSDK.dll",
+ "lib/net7.0/SplashKitSDK.dll",
+ "lib/net8.0/SplashKitSDK.dll",
+ "readme.md",
+ "splashkit.1.1.6.nupkg.sha512",
+ "splashkit.nuspec"
+ ]
+ }
+ },
+ "projectFileDependencyGroups": {
+ "net8.0": [
+ "SplashKit >= 1.1.6"
+ ]
+ },
+ "packageFolders": {
+ "/Users/cjhorn/.nuget/packages/": {}
+ },
+ "project": {
+ "version": "1.0.0",
+ "restore": {
+ "projectUniqueName": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/PlanetProtector.csproj",
+ "projectName": "PlanetProtector",
+ "projectPath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/PlanetProtector.csproj",
+ "packagesPath": "/Users/cjhorn/.nuget/packages/",
+ "outputPath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/obj/",
+ "projectStyle": "PackageReference",
+ "configFilePaths": [
+ "/Users/cjhorn/.nuget/NuGet/NuGet.Config"
+ ],
+ "originalTargetFrameworks": [
+ "net8.0"
+ ],
+ "sources": {
+ "https://api.nuget.org/v3/index.json": {}
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "projectReferences": {}
+ }
+ },
+ "warningProperties": {
+ "warnAsError": [
+ "NU1605"
+ ]
+ },
+ "restoreAuditProperties": {
+ "enableAudit": "true",
+ "auditLevel": "low",
+ "auditMode": "direct"
+ }
+ },
+ "frameworks": {
+ "net8.0": {
+ "targetAlias": "net8.0",
+ "dependencies": {
+ "SplashKit": {
+ "target": "Package",
+ "version": "[1.1.6, )"
+ }
+ },
+ "imports": [
+ "net461",
+ "net462",
+ "net47",
+ "net471",
+ "net472",
+ "net48",
+ "net481"
+ ],
+ "assetTargetFallback": true,
+ "warn": true,
+ "frameworkReferences": {
+ "Microsoft.NETCore.App": {
+ "privateAssets": "all"
+ }
+ },
+ "runtimeIdentifierGraphPath": "/usr/local/share/dotnet/sdk/8.0.303/PortableRuntimeIdentifierGraph.json"
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/games/csharp_games/PlanetProtector/obj/project.nuget.cache b/games/csharp_games/PlanetProtector/obj/project.nuget.cache
new file mode 100644
index 0000000..858d017
--- /dev/null
+++ b/games/csharp_games/PlanetProtector/obj/project.nuget.cache
@@ -0,0 +1,10 @@
+{
+ "version": 2,
+ "dgSpecHash": "l5zGGm8how4=",
+ "success": true,
+ "projectFilePath": "/Users/cjhorn/code/arcade-hackathon/arcade-hackathon-project/games/csharp_games/PlanetProtector/PlanetProtector.csproj",
+ "expectedPackageFiles": [
+ "/Users/cjhorn/.nuget/packages/splashkit/1.1.6/splashkit.1.1.6.nupkg.sha512"
+ ],
+ "logs": []
+}
\ No newline at end of file