diff --git a/30_Cube/csharp/Cube.csproj b/30_Cube/csharp/Cube.csproj
index d3fe4757..3870320c 100644
--- a/30_Cube/csharp/Cube.csproj
+++ b/30_Cube/csharp/Cube.csproj
@@ -6,4 +6,12 @@
enable
enable
+
+
+
+
+
+
+
+
diff --git a/30_Cube/csharp/Resources/Balance.txt b/30_Cube/csharp/Resources/Balance.txt
new file mode 100644
index 00000000..1f6adffd
--- /dev/null
+++ b/30_Cube/csharp/Resources/Balance.txt
@@ -0,0 +1 @@
+You now have {0} dollars.
\ No newline at end of file
diff --git a/30_Cube/csharp/Resources/Bang.txt b/30_Cube/csharp/Resources/Bang.txt
new file mode 100644
index 00000000..1d924788
--- /dev/null
+++ b/30_Cube/csharp/Resources/Bang.txt
@@ -0,0 +1,4 @@
+******BANG******
+You lose!
+
+
diff --git a/30_Cube/csharp/Resources/BetAgain.txt b/30_Cube/csharp/Resources/BetAgain.txt
new file mode 100644
index 00000000..47c9fb8c
--- /dev/null
+++ b/30_Cube/csharp/Resources/BetAgain.txt
@@ -0,0 +1 @@
+Tried to fool me; bet again
\ No newline at end of file
diff --git a/30_Cube/csharp/Resources/Bust.txt b/30_Cube/csharp/Resources/Bust.txt
new file mode 100644
index 00000000..cd753d98
--- /dev/null
+++ b/30_Cube/csharp/Resources/Bust.txt
@@ -0,0 +1 @@
+You bust.
diff --git a/30_Cube/csharp/Resources/Congratulations.txt b/30_Cube/csharp/Resources/Congratulations.txt
new file mode 100644
index 00000000..3319c833
--- /dev/null
+++ b/30_Cube/csharp/Resources/Congratulations.txt
@@ -0,0 +1 @@
+Congratulations!
diff --git a/30_Cube/csharp/Resources/Goodbye.txt b/30_Cube/csharp/Resources/Goodbye.txt
new file mode 100644
index 00000000..0aa64192
--- /dev/null
+++ b/30_Cube/csharp/Resources/Goodbye.txt
@@ -0,0 +1,3 @@
+Tough luck!
+
+Goodbye.
diff --git a/30_Cube/csharp/Resources/HowMuch.txt b/30_Cube/csharp/Resources/HowMuch.txt
new file mode 100644
index 00000000..ff2bea20
--- /dev/null
+++ b/30_Cube/csharp/Resources/HowMuch.txt
@@ -0,0 +1 @@
+How much
\ No newline at end of file
diff --git a/30_Cube/csharp/Resources/IllegalMove.txt b/30_Cube/csharp/Resources/IllegalMove.txt
new file mode 100644
index 00000000..ca8f96ba
--- /dev/null
+++ b/30_Cube/csharp/Resources/IllegalMove.txt
@@ -0,0 +1,2 @@
+
+Illegal move. You lose.
diff --git a/30_Cube/csharp/Resources/Instructions.txt b/30_Cube/csharp/Resources/Instructions.txt
new file mode 100644
index 00000000..e82ae51e
--- /dev/null
+++ b/30_Cube/csharp/Resources/Instructions.txt
@@ -0,0 +1,24 @@
+This is a game in which you will be playing against the
+random decision od the computer. The field of play is a
+cube of side 3. Any of the 27 locations can be designated
+by inputing three numbers such as 2,3,1. At the start,
+you are automatically at location 1,1,1. The object of
+the game is to get to location 3,3,3. One minor detail:
+the computer will pick, at random, 5 locations at which
+it will play land mines. If you hit one of these locations
+you lose. One other details: you may move only one space
+in one direction each move. For example: from 1,1,2 you
+may move to 2,1,2 or 1,1,3. You may not change
+two of the numbers on the same move. If you make an illegal
+move, you lose and the computer takes the money you may
+have bet on that round.
+
+
+All Yes or No questions will be answered by a 1 for Yes
+or a 0 (zero) for no.
+
+When stating the amount of a wager, print only the number
+of dollars (example: 250) You are automatically started with
+500 dollars in your account.
+
+Good luck!
diff --git a/30_Cube/csharp/Resources/Introduction.txt b/30_Cube/csharp/Resources/Introduction.txt
new file mode 100644
index 00000000..6299d19b
--- /dev/null
+++ b/30_Cube/csharp/Resources/Introduction.txt
@@ -0,0 +1,6 @@
+ Cube
+ Creative Computing Morristown, New Jersey
+
+
+
+Do you want to see the instructions? (Yes--1,No--0)
diff --git a/30_Cube/csharp/Resources/NextMove.txt b/30_Cube/csharp/Resources/NextMove.txt
new file mode 100644
index 00000000..4cbe5496
--- /dev/null
+++ b/30_Cube/csharp/Resources/NextMove.txt
@@ -0,0 +1 @@
+Next move:
\ No newline at end of file
diff --git a/30_Cube/csharp/Resources/Resource.cs b/30_Cube/csharp/Resources/Resource.cs
new file mode 100644
index 00000000..c3ed10c7
--- /dev/null
+++ b/30_Cube/csharp/Resources/Resource.cs
@@ -0,0 +1,44 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+
+namespace Cube.Resources;
+
+internal static class Resource
+{
+ internal static class Streams
+ {
+ public static Stream Introduction => GetStream();
+ public static Stream Instructions => GetStream();
+ public static Stream Wager => GetStream();
+ public static Stream IllegalMove => GetStream();
+ public static Stream Bang => GetStream();
+ public static Stream Bust => GetStream();
+ public static Stream Congratulations => GetStream();
+ public static Stream Goodbye => GetStream();
+ }
+
+ internal static class Prompts
+ {
+ public static string HowMuch => GetString();
+ public static string BetAgain => GetString();
+ public static string YourMove => GetString();
+ public static string NextMove => GetString();
+ public static string TryAgain => GetString();
+ }
+
+ internal static class Formats
+ {
+ public static string Balance => GetString();
+ }
+
+ private static string GetString([CallerMemberName] string? name = null)
+ {
+ using var stream = GetStream(name);
+ using var reader = new StreamReader(stream);
+ return reader.ReadToEnd();
+ }
+
+ private static Stream GetStream([CallerMemberName] string? name = null) =>
+ Assembly.GetExecutingAssembly().GetManifestResourceStream($"{typeof(Resource).Namespace}.{name}.txt")
+ ?? throw new Exception($"Could not find embedded resource stream '{name}'.");
+}
\ No newline at end of file
diff --git a/30_Cube/csharp/Resources/TryAgain.txt b/30_Cube/csharp/Resources/TryAgain.txt
new file mode 100644
index 00000000..9ccf358a
--- /dev/null
+++ b/30_Cube/csharp/Resources/TryAgain.txt
@@ -0,0 +1 @@
+Do you want to try again
\ No newline at end of file
diff --git a/30_Cube/csharp/Resources/Wager.txt b/30_Cube/csharp/Resources/Wager.txt
new file mode 100644
index 00000000..04720a7a
--- /dev/null
+++ b/30_Cube/csharp/Resources/Wager.txt
@@ -0,0 +1 @@
+Want to make a wager
diff --git a/30_Cube/csharp/Resources/YourMove.txt b/30_Cube/csharp/Resources/YourMove.txt
new file mode 100644
index 00000000..5ea0c544
--- /dev/null
+++ b/30_Cube/csharp/Resources/YourMove.txt
@@ -0,0 +1,2 @@
+
+It's your move:
\ No newline at end of file