/// <summary> /// Displays a message upon death /// </summary> /// <param name="cons">The global variables</param> public void YourDead(GameCons cons) { Console.Clear(); Console.WriteLine($"\nYou've died, what a shame...\n" + $"You made it till level {cons.level}!"); Console.ReadLine(); Environment.Exit(0); Console.ReadKey(); }
/// <summary> /// Shows the messages to the player /// </summary> /// <param name="cons">The global constants</param> /// <param name="world">The current world</param> public void ShowMessages(GameCons cons, World world) { Console.WriteLine("\n Messages:\n -----------"); // Shows the messages corresponding to the players movement if (world.moved != "NOPE") { Console.WriteLine($"\n * You moved {world.moved}."); } Console.WriteLine("\n -----------"); }
/// <summary> /// Starts the game /// </summary> /// <param name="cons">The global constants</param> public void NewGame(GameCons cons) { Console.OutputEncoding = Encoding.UTF8; // Clears the console Console.Clear(); // Creates a new World world.CreateWorld(cons); // Loops while the Player's alive while (cons.player.Hp > 0) { // Renders the World renderer.Render(cons, world); // Renders the messages messages.ShowMessages(cons, world); // Renders what's around the Player check.Check(cons, world); // Renders the valid inputs inputs.WhatInputs(); // Checks the input from the player commands.CheckInputs(cons, world); // Decrements the players HP cons.player.Hp--; // Clears the console Console.Clear(); // When the player is able to level up if (checkLevelUp.CheckLevelUp(cons, world) == true) { // Inititialize a new World world = new World(); // Create a new World world.CreateWorld(cons); // Render the new World renderer.Render(cons, world); } } // Displays the death message dead.YourDead(cons); }
/// <summary> /// Checks if the player can progress to the next level /// </summary> /// <param name="cons">The global constants</param> /// <param name="world">The current world</param> /// <returns>Returns a true or a false</returns> public bool CheckLevelUp(GameCons cons, World world) { // When the players list has an exit in it this code will be done if (world.array[world.playerX, world.playerY].Contains(cons.player) && world.array[world.playerX, world.playerY].Contains(cons.exit) && cons.player.Hp != 0) { // Increments the level cons.level++; // Clears the Console Console.Clear(); // Displays an informative message to the user Console.WriteLine($"\nYou've made it to level {cons.level}!" + $"\nPress any Key to continue."); // Waits for feedback Console.ReadKey(); // Clears the console Console.Clear(); // Returns a "true" so the program can continue to the next level return(true); } // Returns a "false" so the current level may continue return(false); }
/// <summary> /// Creates a World /// </summary> /// <param name="cons">The global constants</param> public void CreateWorld(GameCons cons) { for (int row = 0; row < 8; row++) { for (int column = 0; column < 8; column++) { // Creates a List inside all Tiles array[row, column] = new Tile(); } } // Adds a player to the world array[playerX, playerY].Add(cons.player); // Adds a exit to the world array[exitX, exitY].Add(cons.exit); // Generates a random X coordenate for the map int mapX = random.Next(0, 8); // Generates a random Y coordenate for the map int mapY = random.Next(0, 8); // Loop while theres no map in the maps coordenates while (array[mapX, mapY].Contains(cons.map) == false) { /* If theres no exit in the maps coordenates Add a map to the * maps coordenates */ if (array[mapX, mapY].Contains(cons.exit) == false) { array[mapX, mapY].Add(cons.map); } // Else make new coordenates else { mapX = random.Next(0, 8); mapY = random.Next(0, 8); } } }
/// <summary> /// Checks what's inside neighboring tiles to the player /// </summary> /// <param name="cons">The global variables</param> /// <param name="world">The current world</param> public void Check(GameCons cons, World world) { Console.WriteLine("\n What do I see?\n -----------\n"); // Get List of Items at North Console.Write($" * NORTH : "); // Limits the search so it doenst go outside the matrix if (world.playerX > 0) { /* When theres something inside the list north of the player * go in this if */ if (world.array[world.playerX - 1, world.playerY].Count() > 0) { /* Gos throw every object with the intergace IGameObject * thats inside the list north of the player */ foreach (IGameObject thing in world.array[world.playerX - 1, world.playerY]) { // Displays the propriety "Name" from the thing Console.ForegroundColor = ConsoleColor.Yellow; Console.Write($" {thing.Name}"); Console.ForegroundColor = ConsoleColor.White; } // Displays a '.' at the end of the listing Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("."); Console.ForegroundColor = ConsoleColor.White; } /* When theres nothing inside the list north of the player * go in this if */ else { // Displays "Empty" since the list is empty Console.ForegroundColor = ConsoleColor.Blue; Console.Write(" Empty.\n"); Console.ForegroundColor = ConsoleColor.White; } } // When the search is outside the matrix go in this else else { // Displays "Wall" since its the limit of the matrix Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Wall."); Console.ForegroundColor = ConsoleColor.White; } // Get List of Items at West Console.Write($" * WEST : "); // Limits the search so it doenst go outside the matrix if (world.playerY > 0) { /* When theres something inside the list west of the player * go in this if */ if (world.array[world.playerX, world.playerY - 1].Count() > 0) { /* Gos throw every object with the intergace IGameObject * thats inside the list west of the player */ foreach (IGameObject thing in world.array[world.playerX, world.playerY - 1]) { // Displays the propriety "Name" from the thing Console.ForegroundColor = ConsoleColor.Yellow; Console.Write($" {thing.Name}"); Console.ForegroundColor = ConsoleColor.White; } // Displays a '.' at the end of the listing Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("."); Console.ForegroundColor = ConsoleColor.White; } /* When theres nothing inside the list west of the player * go in this if */ else { // Displays "Empty" since the list is empty Console.ForegroundColor = ConsoleColor.Blue; Console.Write(" Empty.\n"); Console.ForegroundColor = ConsoleColor.White; } } // When the search is outside the matrix go in this else else { // Displays "Wall" since its the limit of the matrix Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Wall."); Console.ForegroundColor = ConsoleColor.White; } // Get List of Items at East Console.Write($" * EAST : "); // Limits the search so it doenst go outside the matrix if (world.playerY < 7) { /* When theres something inside the list east of the player * go in this if */ if (world.array[world.playerX, world.playerY + 1].Count() > 0) { /* Gos throw every object with the intergace IGameObject * thats inside the list east of the player */ foreach (IGameObject thing in world.array[world.playerX, world.playerY + 1]) { // Displays the propriety "Name" from the thing Console.ForegroundColor = ConsoleColor.Yellow; Console.Write($" {thing.Name}"); Console.ForegroundColor = ConsoleColor.White; } // Displays a '.' at the end of the listing Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("."); Console.ForegroundColor = ConsoleColor.White; } /* When theres nothing inside the list east of the player * go in this if */ else { // Displays "Empty" since the list is empty Console.ForegroundColor = ConsoleColor.Blue; Console.Write(" Empty.\n"); Console.ForegroundColor = ConsoleColor.White; } } // When the search is outside the matrix go in this else else { // Displays "Wall" since its the limit of the matrix Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Wall."); Console.ForegroundColor = ConsoleColor.White; } // Get List of Items at South Console.Write($" * SOUTH : "); // Limits the search so it doenst go outside the matrix if (world.playerX < 7) { /* When theres something inside the list south of the player * go in this if */ if (world.array[world.playerX + 1, world.playerY].Count() > 0) { /* Gos throw every object with the intergace IGameObject * thats inside the list south of the player */ foreach (IGameObject thing in world.array[world.playerX + 1, world.playerY]) { // Displays the propriety "Name" from the thing Console.ForegroundColor = ConsoleColor.Yellow; Console.Write($" {thing.Name}"); Console.ForegroundColor = ConsoleColor.White; } // Displays a '.' at the end of the listing Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("."); Console.ForegroundColor = ConsoleColor.White; } /* When theres nothing inside the list south of the player * go in this if */ else { // Displays "Empty" since the list is empty Console.ForegroundColor = ConsoleColor.Blue; Console.Write(" Empty.\n"); Console.ForegroundColor = ConsoleColor.White; } } // When the search is outside the matrix go in this else else { // Displays "Wall" since its the limit of the matrix Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" Wall."); Console.ForegroundColor = ConsoleColor.White; } // Get List of Items at current position Console.Write($" * HERE : "); /* When theres something inside the current list of the player * besides the player itself go in this if */ if (world.array[world.playerX, world.playerY].Count > 1) { /* Gos throw every object with the intergace IGameObject * thats inside the current list of the player */ foreach (IGameObject thing in world.array[world.playerX, world.playerY]) { // Excludes the player off the search if (thing != cons.player) { // Displays the propriety "Name" from the thing Console.ForegroundColor = ConsoleColor.Yellow; Console.Write($" {thing.Name}"); Console.ForegroundColor = ConsoleColor.White; } } // Displays a '.' at the end of the listing Console.ForegroundColor = ConsoleColor.Yellow; Console.WriteLine("."); Console.ForegroundColor = ConsoleColor.White; } // When the only thing inside the list is the player go in this if if (world.array[world.playerX, world.playerY].Count == 1) { // Displays "Empty" since the list is empty besides the player Console.ForegroundColor = ConsoleColor.Blue; Console.Write(" Empty.\n"); Console.ForegroundColor = ConsoleColor.White; } Console.WriteLine("\n -----------"); }
/// <summary> /// Checks the inputs of the user /// </summary> /// <param name="cons">The global variables</param> /// <param name="world">The current world</param> public void CheckInputs(GameCons cons, World world) { // Initializing variables to make loops possible bool choosing = true; bool choosingKey = true; bool choosingQuit = true; bool choosingItem = true; char choiceKey = 'X'; char choiceKeyQuit = 'X'; char choiceKeyItem = 'X'; // Loops while the player hasnt made a valid choice to end the turn while (choosing) { // Loops while the player hasnt choosen a valid key while (choosingKey) { // Inicializes a string to store the users input string choiceKeyStr = Console.ReadLine(); // Checks if the input is a valid one if (choiceKeyStr.Length == 1 && (choiceKeyStr == "w" || choiceKeyStr == "s" || choiceKeyStr == "a" || choiceKeyStr == "d" || choiceKeyStr == "q" || choiceKeyStr == "f" || choiceKeyStr == "e" || choiceKeyStr == "u" || choiceKeyStr == "v" || choiceKeyStr == "i")) { // Transforms the user's input into a char choiceKey = Convert.ToChar(choiceKeyStr); break; } // If the user fails to choose a valid input this will show Console.WriteLine("Wrong Inupt, try again..."); } // Switch for all the valid inputs switch (choiceKey) { // In case the input is 'w' case 'w': // Limits the player so he cant get off the matrix if (world.playerX > 0) { // Removes the player from the current position world.array[world.playerX, world.playerY].Remove(cons.player); // Adjust to the new position world.playerX -= 1; // Adds the player to the new desired list world.array[world.playerX, world.playerY].Add(cons.player); // Adjusts the bool so we can end the loop choosing = false; /* Adjusts the "moved" string so we can show it * later where the player moved in the messages */ world.moved = "NORTH"; } /* In case the players desired position is outside * the matrix this will show */ Console.WriteLine("Can't Move on that direction!"); break; // In case the input is 's' case 's': // Limits the player so he cant get off the matrix if (world.playerX < 7) { // Removes the player from the current list world.array[world.playerX, world.playerY].Remove(cons.player); // Adjust to the new position world.playerX += 1; // Adds the player to the new desired list world.array[world.playerX, world.playerY].Add(cons.player); // Adjusts the bool so we can end the loop choosing = false; /* Adjusts the "moved" string so we can show it * later where the player moved in the messages */ world.moved = "SOUTH"; } /* In case the players desired position is outside * the matrix this will show */ Console.WriteLine("Can't Move on that direction!"); break; // In case the input is 'a' case 'a': // Limits the player so he cant get off the matrix if (world.playerY > 0) { // Removes the player from the current position world.array[world.playerX, world.playerY].Remove(cons.player); // Adjust to the new position world.playerY -= 1; // Adds the player to the new desired list world.array[world.playerX, world.playerY].Add(cons.player); // Adjusts the bool so we can end the loop choosing = false; /* Adjusts the "moved" string so we can show it * later where the player moved in the messages */ world.moved = "WEST"; } /* In case the players desired position is outside * the matrix this will show */ Console.WriteLine("Can't Move on that direction!"); break; // In case the input is 'd' case 'd': // Limits the player so he cant get off the matrix if (world.playerY < 7) { // Removes the player from the current position world.array[world.playerX, world.playerY].Remove(cons.player); // Adjust to the new position world.playerY += 1; // Adds the player to the new desired list world.array[world.playerX, world.playerY].Add(cons.player); // Adjusts the bool so we can end the loop choosing = false; /* Adjusts the "moved" string so we can show it * later where the player moved in the messages */ world.moved = "EAST"; } /* In case the players desired position is outside * the matrix this will show */ Console.WriteLine("Can't Move on that direction!"); break; // In case the input is 'q' case 'q': // Displays a informative message to the user Console.WriteLine("Are you sure you want to quit? (y/n)"); // Loops while the player doesnt give a valid input while (choosingQuit) { // Inicializes a string to store the users input string choiceKeyQuitStr = Console.ReadLine(); // Checks if the input is a valid one if (choiceKeyQuitStr.Length == 1 && (choiceKeyQuitStr == "y" || choiceKeyQuitStr == "n")) { // Transforms the user's input into a char choiceKeyQuit = Convert.ToChar(choiceKeyQuitStr); break; } // If the user fails to choose a valid input this will show Console.WriteLine("Wrong Inupt, try again..."); } // Switch for all the valid inputs switch (choiceKeyQuit) { // In case the input is 'y' case 'y': // Ends the program Environment.Exit(0); break; // In case the input is 'n' case 'n': break; } break; // In case the input is 'e' case 'e': /* If theres a map or food inside the player's current * position it will go inside this if */ if (world.array[world.playerX, world.playerY].Contains(cons.map) || world.array[world.playerX, world.playerY].Contains(cons.food)) { // Cleans the Console Console.Clear(); // Displays a informative message to the user Console.WriteLine("Select an item to Pick Up.\n -----------"); Console.WriteLine("0 - Go Back."); /* Initializes a counter to count how many pickable * things are inside the list */ int counter = 1; /* Gos throw every object with the intergace IGameObject * thats inside the players current list */ foreach (IGameObject thing in world.array[world.playerX, world.playerY]) { /* Limits the things to just objects with the * interface IItem */ if (thing is IItem item) { // Displays the propriety "Name" from the thing Console.WriteLine($"{counter} - {item.Name}."); // Increments the counter counter++; } } // Loops while the player hasnt choosen a valid key while (choosingItem) { // Inicializes a string to store the users input string choiceKeyItemStr = Console.ReadLine(); /* Initializes a int to store the converted * string with the users choice */ int choiceKeyItemInt = Convert.ToInt32(choiceKeyItemStr); /* Limits the choices of the user according to * how many things are inside the list */ if (choiceKeyItemStr.Length == 1 && choiceKeyItemInt <= (world.array[world.playerX, world.playerY].Count() - 1)) { // Transforms the user's input into a char choiceKeyItem = Convert.ToChar(choiceKeyItemStr); // Adjusts the bool so we can end the loop choosingItem = false; break; } // If the user fails to choose a valid input this will show Console.WriteLine("Wrong Inupt, try again..."); } /* Gos throw every object with the intergace IGameObject * thats inside the current list of the player */ foreach (IGameObject thing in world.array[world.playerX, world.playerY]) { /* Limits the things to just objects with the * interface IItem */ if (thing is IItem item) { // Switch for all the valid inputs switch (choiceKeyItem) { // In case the input is '0' case '0': // Adjusts the bool so we can end the loop choosing = false; break; // In case the input is '1' case '1': /* If theres at least two thing * inside the current array */ if (world.array[world.playerX, world.playerY].Count > 1) { /* Runs the PickUp() method * from the selected item */ item.PickUp(cons, world); // Adjusts the bool so we can end the loop choosing = false; break; } /* If the user fails to choose a * valid input this will show */ Console.WriteLine("Select a valid option."); continue; // In case the input is '2' case '2': /* If theres at least three thing * inside the current array */ if (world.array[world.playerX, world.playerY].Count > 2) { /* Runs the PickUp() method * from the selected item */ item.PickUp(cons, world); // Adjusts the bool so we can end the loop choosing = false; break; } /* If the user fails to choose a * valid input this will show */ Console.WriteLine("Select a valid option."); continue; // In case the input is '3' case '3': /* If theres at least four thing * inside the current array */ if (world.array[world.playerX, world.playerY].Count > 3) { /* Runs the PickUp() method * from the selected item */ item.PickUp(cons, world); // Adjusts the bool so we can end the loop choosing = false; break; } /* If the user fails to choose a * valid input this will show */ Console.WriteLine("Select a valid option."); continue; default: /* If the user fails to choose a * valid input this will show */ Console.WriteLine("Select a valid option."); continue; } } } } /* If theres nothing besides the player inside the * current list go in this else */ else { /* Displays a default message because theres nothing * to pick up */ Console.WriteLine("You picked up a rock... It doesnt" + " seem very useful so you decide to drop it."); } break; // In case the input is 'f' case 'f': // Displays a informative message to the user Console.WriteLine("You decide to frantically swing your " + "spoon... Fortunatly you didnt die! It looks like " + "this feature is not implemented..."); Console.WriteLine("Choose something else..."); break; // In case the input is 'u' case 'u': // Displays a informative message to the user Console.WriteLine("You decide to use your mind and think!" + " Its not going so well... You figured that this " + "feature is not implemented..."); Console.WriteLine("Choose something else..."); break; // In case the input is 'v' case 'v': // Displays a informative message to the user Console.WriteLine("It looks like you dropped your spoon... " + "You instantly regret your decision and pick it " + "back up since this feature is not implemented..."); Console.WriteLine("Choose something else..."); break; // In case the input is 'i' case 'i': // Displays a informative message to the user Console.WriteLine("We regret to informe you that " + "this feature is not yet implemented..."); Console.WriteLine("Choose something else..."); break; } } }
/// <summary> /// The beginning of the program /// </summary> /// <param name="args"></param> static void Main(string[] args) { // Initializing required stuff Program program = new Program(); Credits credits = new Credits(); HighScores highScores = new HighScores(); GameCons cons = new GameCons(); bool chosingMenu = true; // Loops while the player hasnt made a valid choice while (chosingMenu) { Console.WriteLine("\n1. New game\n2. High scores\n3. Credits\n4. Quit"); // Converts the players choice into a ConsoleKeyInfo ConsoleKeyInfo choice = Console.ReadKey(); // In case the "choice" is a Digit if (char.IsDigit(choice.KeyChar)) { // Switch for all the valid inputs switch (choice.Key) { // In case the input is '1' case ConsoleKey.D1: // Initializes the global constants cons.Cons(); // Starts the Game program.NewGame(cons); // Clears the console Console.Clear(); chosingMenu = false; break; // In case the input is '2' case ConsoleKey.D2: // Shows the HighScores highScores.ShowHighScores(); // Clears the console Console.Clear(); break; // In case the input is '3' case ConsoleKey.D3: // Shows the credits credits.ShowCredits(); // Clears the console Console.Clear(); break; // In case the input is '4' case ConsoleKey.D4: // Clears the console Console.Clear(); // Ends the program Environment.Exit(0); break; } } // Clears the console else { Console.Clear(); } } }
/// <summary> /// Displays the world to the user /// </summary> /// <param name="cons">The global constants</param> /// <param name="world">The current world</param> public void Render(GameCons cons, World world) { // Clears the console Console.Clear(); // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine($"┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + $"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━" + $"━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━" + $"━━━━━━━━━┓"); Console.WriteLine($"┃ Ro" + $"gueLike ┃ " + $" Stats ┃ Legend " + $" ┃"); Console.WriteLine($"┣━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + $"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━" + $"━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━" + $"━━━━━━━━━┫"); Console.WriteLine($"┃ " + $" ┃ " + $" ┃ " + $" ┃"); Console.ForegroundColor = ConsoleColor.White; for (int row = 0; row < 8; row++) { for (int column = 0; column < 8; column++) { /* Checks if theres a Tile wich contains a Player on the * neighboring Tiles of the current Tile */ if ((row > 0 && world.array[row - 1, column].Contains(cons.player)) || (row < 7 && world.array[row + 1, column].Contains(cons.player)) || (column > 0 && world.array[row, column - 1].Contains(cons.player)) || (column < 7 && world.array[row, column + 1].Contains(cons.player)) || world.array[row, column].Contains(cons.player)) { // Makes the current Tile visable world.array[row, column].IsVisable = true; } if (column == 0) { // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.Write("┃ "); Console.ForegroundColor = ConsoleColor.White; } // If the Tile is visable if (world.array[row, column].IsVisable) { // If the Tile contain a Player if (world.array[row, column].Contains(cons.player)) { // Displays the Players ToString() Console.ForegroundColor = ConsoleColor.DarkYellow; Console.Write(cons.player.ToString()); Console.ForegroundColor = ConsoleColor.White; /* Gos throw every object with the intergace IGameObject * thats inside the current list */ foreach (IGameObject thing in world.array[row, column]) { // Excludes the Player off the things if (thing != cons.player) { // Displays the things ToString() Console.ForegroundColor = ConsoleColor.DarkYellow; Console.Write(thing.ToString()); Console.ForegroundColor = ConsoleColor.White; } } } // If the Tile doesnt contain a Player if (world.array[row, column].Contains(cons.player) == false) { /* Gos throw every object with the intergace IGameObject * thats inside the current list */ foreach (IGameObject thing in world.array[row, column]) { // Displays the things ToString() Console.ForegroundColor = ConsoleColor.DarkYellow; Console.Write(thing.ToString()); Console.ForegroundColor = ConsoleColor.White; } } // If the current Tile has less than 4 objects do this code if (world.array[row, column].Count() < 4) { // Excludes the number of objects inside the Tile from this for for (int i = 4 - world.array[row, column].Count(); i > 0; i--) { // If theres an Exit inside the Tile if (world.array[row, column].Contains(cons.exit)) { } // If theres no Exit inside the Tile else { // Displays a "Empty" Symbol Console.ForegroundColor = ConsoleColor.Blue; Console.Write("⚊"); Console.ForegroundColor = ConsoleColor.White; } } } } // If the Tile isnt visable if (world.array[row, column].IsVisable == false) { // Display "Unexplored" Symbols Console.ForegroundColor = ConsoleColor.Red; Console.Write("░░░░"); Console.ForegroundColor = ConsoleColor.White; } if (column < 7) { // Displays a separation between the Tiles Console.Write(" - "); } if (column == 7) { if (row == 0) { // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.Write($"┃ Current Level: " + $"{cons.level:000} ┃ Pla" + $"yer - {cons.player.Symbol} ┃"); Console.ForegroundColor = ConsoleColor.White; } if (row == 1) { // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.Write($"┃ Player HP: " + $"{cons.player.Hp:000} ┃ " + $" Empty - ⚊ ┃"); Console.ForegroundColor = ConsoleColor.White; } if (row == 2) { // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.Write($"┃ Weapon: " + $"Rusty Spoon ┃ Unexplored - " + $"░ ┃"); Console.ForegroundColor = ConsoleColor.White; } if (row == 3) { // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.Write($"┃ Inventory: " + $"099% ┃ Map - " + $"{cons.map.Symbol} ┃"); Console.ForegroundColor = ConsoleColor.White; } if (row == 4) { // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.Write($"┃ ┃" + $" Trap - {cons.trap.Symbol} " + $" ┃"); Console.ForegroundColor = ConsoleColor.White; } if (row == 5) { // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.Write($"┃ ┃" + $" Food - {cons.food.Symbol} " + $" ┃"); Console.ForegroundColor = ConsoleColor.White; } if (row == 6) { // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.Write($"┃ ┃" + $" Neutral NPC - " + $"{cons.npcN.Symbol} ┃"); Console.ForegroundColor = ConsoleColor.White; } if (row == 7) { // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.Write($"┃ ┃" + $" Hostile NPC - " + $"{cons.npcH.Symbol} ┃"); Console.ForegroundColor = ConsoleColor.White; } Console.Write("\n"); } } if (row < 7) { // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.Write("┃ "); Console.ForegroundColor = ConsoleColor.White; // Displays a separation between the Tiles Console.Write(" | | | " + " | | | | " + " |"); // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine(" ┃ " + " ┃ ┃"); Console.ForegroundColor = ConsoleColor.White; } if (row == 7) { // Building a chart around the World Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine($"┃ " + $" " + $" ┃ ┃ " + $" ┃"); Console.WriteLine($"┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + $"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" + $"━━━━━━━━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━" + $"━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛"); Console.ForegroundColor = ConsoleColor.White; } } }