aboutsummaryrefslogtreecommitdiff
path: root/Bitspace 2.0
diff options
context:
space:
mode:
Diffstat (limited to 'Bitspace 2.0')
-rw-r--r--Bitspace 2.0/Bitspace 2.0.sln25
-rw-r--r--Bitspace 2.0/Bitspace 2.0/App.config6
-rw-r--r--Bitspace 2.0/Bitspace 2.0/Bitspace 2.0.csproj60
-rw-r--r--Bitspace 2.0/Bitspace 2.0/Game creatures/Creatures.cs11
-rw-r--r--Bitspace 2.0/Bitspace 2.0/Game creatures/Mob.cs95
-rw-r--r--Bitspace 2.0/Bitspace 2.0/Game creatures/Player.cs32
-rw-r--r--Bitspace 2.0/Bitspace 2.0/Game map/Biome.cs57
-rw-r--r--Bitspace 2.0/Bitspace 2.0/Game map/Map.cs111
-rw-r--r--Bitspace 2.0/Bitspace 2.0/Graphics.cs32
-rw-r--r--Bitspace 2.0/Bitspace 2.0/KeyBindings.cs13
-rw-r--r--Bitspace 2.0/Bitspace 2.0/Program.cs25
-rw-r--r--Bitspace 2.0/Bitspace 2.0/Properties/AssemblyInfo.cs36
12 files changed, 503 insertions, 0 deletions
diff --git a/Bitspace 2.0/Bitspace 2.0.sln b/Bitspace 2.0/Bitspace 2.0.sln
new file mode 100644
index 0000000..d05b548
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0.sln
@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29230.47
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Bitspace 2.0", "Bitspace 2.0\Bitspace 2.0.csproj", "{08984D4B-A069-4347-9CEC-0B0130EECE42}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {08984D4B-A069-4347-9CEC-0B0130EECE42}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {08984D4B-A069-4347-9CEC-0B0130EECE42}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {08984D4B-A069-4347-9CEC-0B0130EECE42}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {08984D4B-A069-4347-9CEC-0B0130EECE42}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(ExtensibilityGlobals) = postSolution
+ SolutionGuid = {0DD527CF-AB5F-4314-9149-29740D2C85DC}
+ EndGlobalSection
+EndGlobal
diff --git a/Bitspace 2.0/Bitspace 2.0/App.config b/Bitspace 2.0/Bitspace 2.0/App.config
new file mode 100644
index 0000000..56efbc7
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0/App.config
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<configuration>
+ <startup>
+ <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+ </startup>
+</configuration> \ No newline at end of file
diff --git a/Bitspace 2.0/Bitspace 2.0/Bitspace 2.0.csproj b/Bitspace 2.0/Bitspace 2.0/Bitspace 2.0.csproj
new file mode 100644
index 0000000..5f5e2e8
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0/Bitspace 2.0.csproj
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{08984D4B-A069-4347-9CEC-0B0130EECE42}</ProjectGuid>
+ <OutputType>Exe</OutputType>
+ <RootNamespace>Bitspace_2._0</RootNamespace>
+ <AssemblyName>Bitspace 2.0</AssemblyName>
+ <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+ <FileAlignment>512</FileAlignment>
+ <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+ <Deterministic>true</Deterministic>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <PlatformTarget>AnyCPU</PlatformTarget>
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Xml.Linq" />
+ <Reference Include="System.Data.DataSetExtensions" />
+ <Reference Include="Microsoft.CSharp" />
+ <Reference Include="System.Data" />
+ <Reference Include="System.Net.Http" />
+ <Reference Include="System.Xml" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="Game creatures\Creatures.cs" />
+ <Compile Include="Game map\Biome.cs" />
+ <Compile Include="Game creatures\Player.cs" />
+ <Compile Include="Graphics.cs" />
+ <Compile Include="KeyBindings.cs" />
+ <Compile Include="Game map\Map.cs" />
+ <Compile Include="Game creatures\Mob.cs" />
+ <Compile Include="Program.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <None Include="App.config" />
+ </ItemGroup>
+ <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+</Project> \ No newline at end of file
diff --git a/Bitspace 2.0/Bitspace 2.0/Game creatures/Creatures.cs b/Bitspace 2.0/Bitspace 2.0/Game creatures/Creatures.cs
new file mode 100644
index 0000000..025a727
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0/Game creatures/Creatures.cs
@@ -0,0 +1,11 @@
+using Bitspace_2._0.Game_creatures;
+using System;
+using System.Collections.Generic;
+
+namespace Bitspace_2._0.Game_creatures {
+ public static class Creatures { //when adding new collections, update Graphics.Update()
+ public static Dictionary<string, Player> Players = new Dictionary<string, Player>() {
+ { "Player1", new Player("The player", '@', ConsoleColor.White, 10) }
+ };
+ }
+}
diff --git a/Bitspace 2.0/Bitspace 2.0/Game creatures/Mob.cs b/Bitspace 2.0/Bitspace 2.0/Game creatures/Mob.cs
new file mode 100644
index 0000000..a236046
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0/Game creatures/Mob.cs
@@ -0,0 +1,95 @@
+using Bitspace_2._0.Game_map;
+using System;
+using System.Linq;
+
+namespace Bitspace_2._0.Game_creatures {
+ abstract public class Mob { //short for mobile object
+ protected static Random rndNum = new Random(); //the random class uses certain patters to it's randomness, this way it will always give a "random" number
+
+ public string name;
+ public char body;
+ public ConsoleColor Color { get; protected set; }
+
+ public int XPos { get; set; }
+ public int YPos { get; set; }
+ public int MovementFactor { get; set; }
+ public int DefaultMovementFactor { get; protected set; }
+
+ public int Health { get; set; }
+ public int MaxHealth { get; protected set; }
+ public int LungCapacity { get; set; }
+ public int MaxLungCapacity { get; protected set; }
+ public int Armour { get; protected set; }
+ public int MaxArmour { get; protected set; }
+
+ public void MoveRandomly() {
+ var randomDirection = rndNum.Next(MovementFactor); //the bigger it is, the less chance for a mob to move from it's current position
+
+ Move(randomDirection);
+ }
+
+ protected void Move(int direction) {
+ switch (direction) {
+ case 1: //North
+ if (this.YPos > Map.MinY) YPos--;
+ break;
+ case 2: //South
+ if (this.YPos < Map.MaxY) YPos++;
+ break;
+ case 3: //West
+ if (this.XPos > Map.MinX) XPos--;
+ break;
+ case 4: //East
+ if (this.XPos < Map.MaxX) XPos++;
+ break;
+ }
+ }
+
+ public Mob (string name, char body, ConsoleColor color, int maxHealth)
+ : this(name, body, color, 20, maxHealth, 10, 0) { }
+
+ public Mob (string name, char body, ConsoleColor color, int maxHealth, int maxLungCapacity)
+ : this(name, body, color, 20, maxHealth, maxLungCapacity, 0) { }
+
+ public Mob(string name, char body, ConsoleColor color, int defaultMovementFactor, int maxHealth, int maxLungCapacity)
+ : this(name, body, color, defaultMovementFactor, maxHealth, maxLungCapacity, 0) { }
+
+ public Mob (string name, char body, ConsoleColor color, int defaultMovementFactor, int maxHealth, int maxLungCapacity, int maxArmour) {
+ this.Name = name;
+ this.Body = body;
+ this.Color = color;
+
+ this.XPos = 0; this.YPos = 0; //temporary
+ this.MovementFactor = this.DefaultMovementFactor = defaultMovementFactor;
+
+ this.Health = this.MaxHealth = maxHealth;
+ this.LungCapacity = this.MaxLungCapacity = maxLungCapacity;
+ this.Armour = this.MaxArmour = maxArmour;
+ }
+
+ public override string ToString() {
+ return $"{this.Name} | Health: {this.Health} | Armour: {this.Armour} | Air: {new string('O', this.LungCapacity)}\r\n" +
+ $"X: {this.XPos} | Y: {this.YPos}";
+ }
+
+ public string Name {
+ get { return this.name; }
+ protected set {
+ if (!value.Any(c => (c > 47 && c < 58) || (c > 64 && c < 91) || (c > 96 && c < 123) || c == '_' || c == ' ')) {
+ throw new ArgumentException("Player name can be composed only of small letters, big letters, numbers, underscores and spaces.");
+ }
+ this.name = value;
+ }
+ }
+
+ public char Body {
+ get { return this.body; }
+ protected set {
+ if (value < 33 || value > 126) { //TODO: limit it even more (in the end)
+ throw new ArgumentException("Body character can only be from the ASCII printable characters (from 32 to 126), without the space character (32)");
+ }
+ this.body = value;
+ }
+ }
+ }
+}
diff --git a/Bitspace 2.0/Bitspace 2.0/Game creatures/Player.cs b/Bitspace 2.0/Bitspace 2.0/Game creatures/Player.cs
new file mode 100644
index 0000000..77acb57
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0/Game creatures/Player.cs
@@ -0,0 +1,32 @@
+using System;
+using System.Linq;
+
+namespace Bitspace_2._0.Game_creatures {
+ public class Player : Mob {
+ public void InputAction() {
+ var pressedKey = Console.ReadKey().Key;
+
+ if (KeyBindings.Movement.ContainsValue(pressedKey)) {
+ switch (KeyBindings.Movement.First(kp => kp.Value == pressedKey).Key) {
+ case "Forwards": Move(1); break;
+ case "Backwards": Move(2); break;
+ case "Left": Move(3); break;
+ case "Right": Move(4); break;
+ }
+ }
+ }
+
+ public Player(string name, char body, ConsoleColor color, int maxHealth)
+ : base(name, body, color, 20, maxHealth, 10, 0) { }
+
+ public Player(string name, char body, ConsoleColor color, int maxHealth, int maxLungCapacity)
+ : base(name, body, color, 20, maxHealth, maxLungCapacity, 0) { }
+
+ public Player(string name, char body, ConsoleColor color, int defaultMovementFactor, int maxHealth, int maxLungCapacity)
+ : base(name, body, color, defaultMovementFactor, maxHealth, maxLungCapacity, 0) { }
+
+ public Player(string name, char body, ConsoleColor color, int defaultMovementFactor, int maxHealth, int maxLungCapacity, int maxArmour)
+ : base(name, body, color, defaultMovementFactor, maxHealth, maxLungCapacity, maxArmour) { }
+
+ }
+}
diff --git a/Bitspace 2.0/Bitspace 2.0/Game map/Biome.cs b/Bitspace 2.0/Bitspace 2.0/Game map/Biome.cs
new file mode 100644
index 0000000..550857b
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0/Game map/Biome.cs
@@ -0,0 +1,57 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Bitspace_2._0.Game_map {
+ class Biome {
+ private string name;
+
+ private char ground;
+ public ConsoleColor Color { get; private set; }
+
+ public bool Suffocate { get; private set; }
+ //these values are per game tick / every time they are called
+ public int Damage { get; private set; }
+ public int Heal { get; private set; }
+
+ public Biome(string name, char ground, ConsoleColor color) : this(name, ground, color, false, 0, 0) { }
+
+ public Biome(string name, char ground, ConsoleColor color, bool suffocate) : this(name, ground, color, suffocate, 0, 0) { }
+
+ public Biome(string name, char ground, ConsoleColor color, int damage, int heal) : this(name, ground, color, false, damage, heal) { }
+
+ public Biome(string name, char ground, ConsoleColor color, bool suffocate, int damage, int heal) {
+ this.Name = name;
+ this.Ground = ground;
+ this.Color = color;
+ this.Suffocate = suffocate;
+ this.Damage = damage;
+ }
+
+ public void AffectMob() {
+ //can be finished after implimenting mobs
+ }
+
+ public string Name {
+ get { return name; }
+ private set {
+ if (!value.Any(c => (c > 47 && c < 58) || (c > 64 && c < 91) || (c > 96 && c < 123) || c == '_')) {
+ throw new ArgumentException("Biome name can be composed only of small letters, big letters, numbers and the underscore character");
+ }
+ this.name = value;
+ }
+ }
+
+ public char Ground {
+ get { return ground; }
+ private set {
+ if (value < 33 || value > 126) {
+ throw new ArgumentException("Biome ground character can only be from the ASCII printable characters (from 32 to 126), without the space character (32)");
+ }
+ this.ground = value;
+ }
+ }
+ }
+}
diff --git a/Bitspace 2.0/Bitspace 2.0/Game map/Map.cs b/Bitspace 2.0/Bitspace 2.0/Game map/Map.cs
new file mode 100644
index 0000000..7763554
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0/Game map/Map.cs
@@ -0,0 +1,111 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+
+namespace Bitspace_2._0.Game_map {
+ static class Map {
+ public static StringBuilder[] MobLayer { get; private set; }
+ public static StringBuilder[] ItemLayer { get; private set; }
+ public static StringBuilder[] MapLayer { get; private set; }
+
+ //hardcoded temporarely
+ public static int MinX = 0;
+ public static int MaxX;
+ public static int MinY = 0;
+ public static int MaxY;
+
+ private static Dictionary<string, Biome> biomeDB = new Dictionary<string, Biome>() {
+ { "Grass", new Biome("Grass", ',', ConsoleColor.Green, 0, 1) },
+ { "Water", new Biome("Water", '-', ConsoleColor.Blue, true, 1, 0) },
+ { "Lava", new Biome("Lava", '#', ConsoleColor.Red, 2, 0) }
+ };
+
+ public static void Generate(int width, int height) {
+ MaxX = width - 1;//temporary
+ MaxY = height - 1;//temporary
+
+ MobLayer = NewBlanckSBArray(width, height);
+ ItemLayer = NewBlanckSBArray(width, height);
+ MapLayer = GenerateMapLayer(width, height);
+ }
+
+ private static StringBuilder[] NewBlanckSBArray(int width, int height) {
+ StringBuilder[] sBArray = new StringBuilder[height];
+
+ for (int row = 0; row < height; row++) {
+ sBArray[row] = new StringBuilder(new string(' ', width));
+ }
+ return sBArray;
+ }
+
+ public static void ClearLayer(string layerName) {
+ switch (layerName) {
+ case "MobLayer": MobLayer = NewBlanckSBArray(MobLayer[0].Length, MobLayer.Length); break;
+ case "ItemLayer": ItemLayer = NewBlanckSBArray(ItemLayer[0].Length, ItemLayer.Length); break;
+ }
+ }
+
+ private static StringBuilder[] GenerateMapLayer(int width, int height) {
+ StringBuilder[] sBArray = new StringBuilder[height];
+
+ Random randomNumber = new Random();
+ for (int row = 0; row < height; row++) { //adds the possibility of having 2 biomes on one row (could be 1)
+ sBArray[row] = new StringBuilder(new string(RandomBiome(randomNumber).Ground, randomNumber.Next(width + 1)));
+
+ sBArray[row].Append(new StringBuilder(new string(RandomBiome(randomNumber).Ground, width - sBArray[row].Length)));
+ }
+ return sBArray;
+ }
+
+ private static Biome RandomBiome(Random randomNumber) {
+ Biome currBiome;
+
+ if (randomNumber.Next(4) > 0) { // 3/4 chance that the biome will not hurt and will not suffocate
+ currBiome = biomeDB.Values.Where(x => x.Damage == 0).ElementAt(randomNumber.Next(biomeDB.Values.Count(x => x.Damage == 0)));
+ }
+ else {
+ if (randomNumber.Next(5) > 0) { // 4/5 chance that the biome will hurt and suffocate
+ currBiome = biomeDB.Values.Where(x => x.Damage > 0 && x.Suffocate)
+ .ElementAt(randomNumber.Next(biomeDB.Values.Count(x => x.Damage > 0 && x.Suffocate)));
+ }
+ else { // 1/5 chance that the biome will hurt but won't suffocate
+ currBiome = biomeDB.Values.Where(x => x.Damage > 0 && !x.Suffocate)
+ .ElementAt(randomNumber.Next(biomeDB.Values.Count(x => x.Damage > 0 && !x.Suffocate)));
+ }
+ }
+ return currBiome;
+ }
+
+ public static StringBuilder[] World {
+ get {
+ StringBuilder[] temp = NewBlanckSBArray(MapLayer[0].Length, MapLayer.Length);
+
+ Overlay(temp, MapLayer);
+ Overlay(temp, ItemLayer);
+ Overlay(temp, MobLayer);
+
+ return temp;
+ }
+ }
+
+ private static void Overlay(StringBuilder[] origin, StringBuilder[] newLayer) {
+ for (int row = 0; row < origin.Length; row++) {
+ for (int col = 0; col < origin[0].Length; col++) {
+ if (newLayer[row][col] != ' ') origin[row][col] = newLayer[row][col];
+ }
+ }
+ }
+
+ public static string StringWorld {
+ get {
+ StringBuilder toReturn = new StringBuilder();
+ foreach (var row in World) {
+ toReturn.AppendLine(row.ToString());
+ }
+
+ return toReturn.ToString();
+ }
+ }
+ }
+}
diff --git a/Bitspace 2.0/Bitspace 2.0/Graphics.cs b/Bitspace 2.0/Bitspace 2.0/Graphics.cs
new file mode 100644
index 0000000..baa9f94
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0/Graphics.cs
@@ -0,0 +1,32 @@
+using Bitspace_2._0.Game_map;
+using Bitspace_2._0.Game_creatures;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Bitspace_2._0 {
+ static class Graphics {
+ public static void ReWriteScreen() {
+ Console.Clear();
+
+ Update();
+
+ Console.WriteLine(Map.StringWorld);
+ }
+
+ private static void Update() {
+ UpdateMobLayer();
+ //UpdateItemLayer();
+ }
+
+ private static void UpdateMobLayer() {
+ Map.ClearLayer("MobLayer");
+
+ foreach(var pl in Creatures.Players.Values) {
+ Map.MobLayer[pl.YPos][pl.XPos] = pl.Body;
+ }
+ }
+ }
+}
diff --git a/Bitspace 2.0/Bitspace 2.0/KeyBindings.cs b/Bitspace 2.0/Bitspace 2.0/KeyBindings.cs
new file mode 100644
index 0000000..61d585c
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0/KeyBindings.cs
@@ -0,0 +1,13 @@
+using System;
+using System.Collections.Generic;
+
+namespace Bitspace_2._0 {
+ static class KeyBindings {
+ public static Dictionary<string, ConsoleKey> Movement = new Dictionary<string, ConsoleKey>() {
+ { "Forwards", ConsoleKey.W },
+ { "Backwards", ConsoleKey.S },
+ { "Left", ConsoleKey.A },
+ { "Right", ConsoleKey.D }
+ };
+ }
+}
diff --git a/Bitspace 2.0/Bitspace 2.0/Program.cs b/Bitspace 2.0/Bitspace 2.0/Program.cs
new file mode 100644
index 0000000..6ac34e0
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0/Program.cs
@@ -0,0 +1,25 @@
+using System;
+using System.Threading;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using Bitspace_2._0.Game_map;
+using Bitspace_2._0.Game_creatures;
+
+namespace Bitspace_2._0 {
+ class Program {
+ static void Main(string[] args) {
+ Map.Generate(20, 10);
+ Console.CursorVisible = false;
+
+ for (ulong gameTick = 0; ; gameTick++, Thread.Sleep(70)) {
+ if (Console.KeyAvailable) {
+ Creatures.Players["Player1"].InputAction();
+ }
+
+ Graphics.ReWriteScreen();
+ }
+ }
+ }
+}
diff --git a/Bitspace 2.0/Bitspace 2.0/Properties/AssemblyInfo.cs b/Bitspace 2.0/Bitspace 2.0/Properties/AssemblyInfo.cs
new file mode 100644
index 0000000..46f7553
--- /dev/null
+++ b/Bitspace 2.0/Bitspace 2.0/Properties/AssemblyInfo.cs
@@ -0,0 +1,36 @@
+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("Bitspace 2.0")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Bitspace 2.0")]
+[assembly: AssemblyCopyright("Copyright © 2019")]
+[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("08984d4b-a069-4347-9cec-0b0130eece42")]
+
+// Version information for an assembly consists of the following four values:
+//
+// Major Version
+// Minor Version
+// Build Number
+// Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]