public static void Tutorial() { Thread AnotherFadeOutThread = new Thread(() => Sounds.FadeOut()); AnotherFadeOutThread.Start(); Console.Clear(); SetCol(ConsoleColor.Cyan); SetCol(ConsoleColor.White, "back"); Sleep(1000); SetCol(ConsoleColor.Gray, "back"); Sleep(1000); SetCol(ConsoleColor.DarkGray, "back"); Sleep(1000); SetCol(ConsoleColor.Black, "back"); Sounds.Play("ShopAmbience.wav"); Sleep(5000); TextCrawl("WADDLE, " + Globals.PlayerName); Sleep(3000); TextCrawl("Sainsbury's, some generic town name"); Sleep(3000); TextCrawl("16:31 -- SATURDAY"); Sleep(3000); Console.Clear(); Console.WriteLine("WADDLE, " + Globals.PlayerName + "\nSainsbury's, some generic town name\n16:32 -- SATURDAY"); Sleep(2000); ReverseTextCrawl("WADDLE " + Globals.PlayerName + "\nSainsbury's, some generic town name\n16:32"); Sleep(3000); TextCrawl(Globals.PlayerName + "?"); Sleep(1000); Console.WriteLine("(press any key to continue dialogue)"); Pause(); TextCrawl("\nYOU: Yeah?"); Pause(); TextCrawl("MUM: Can you get that can over there?"); Pause(); TextCrawl("YOU: Ok."); Pause(); DisplayNewObjective("Get the can using the command 'get can'"); string brief = "--------------------\n|=---FOOD ISLE---=|\nThere is a can of soup in front of you ('can'). An employee is standing next to it.\n\nAll directions are blocked as your mum is watching over you.\n\nITEMS: "; // Adding each of the player's items to the brief foreach (string item in Globals.Items) { brief += item + ", "; } brief += "\n\nOBJECTIVE: " + Globals.Objective + "\n--------------------"; Console.WriteLine(brief); Sleep(5000); SetCol(ConsoleColor.Green); TextCrawl("\n^^^ That is a brief.\nIt is info about an area that is displayed when you enter it."); Sleep(2000); TextCrawl("A brief will say what directions other areas are in, and you can visit these areas with 'n' for north, 's' for south and so on."); Sleep(2000); TextCrawl("It will also say what enemies are nearby - you can attack them with 'attack.'"); Sleep(2000); TextCrawl("You can see the brief at any time by typing 'brief'."); Sleep(4000); TextCrawl("\n\nPick up the can with the command 'get'. The ID of the item, the thing to type to pick it up, is displayed in the brief in brackets."); Sleep(2000); while (true) { SetCol(ConsoleColor.Blue); TextCrawl("\n~~>>> ", 50, false); SetCol(ConsoleColor.Cyan); string action = Console.ReadLine(); if (action.ToLower() == "brief") { SetCol(ConsoleColor.Green); Console.WriteLine(brief); SetCol(ConsoleColor.Cyan); } else if (action.ToLower() == "attack") { TextCrawl("There are no enemies to attack."); } else if (action.ToLower() == "n" || action.ToLower() == "e" || action.ToLower() == "s" || action.ToLower() == "w") { TextCrawl("All directions are blocked as your mum is watching over you."); } else if (action.ToLower() == "get can") { break; } } Console.Clear(); SetCol(ConsoleColor.Magenta); TextCrawl("Objective completed."); SetCol(ConsoleColor.Cyan); TextCrawl("You walk over and pick up the can."); Pause(); TextCrawl("???: OI!"); Pause(); TextCrawl("You turn around to the face of an angry employee."); Pause(); Sounds.Play("HeckinSoup.wav"); TextCrawl("EMPLOYEE: That's me heckin' soup!"); Pause(); TextCrawl("Mum jumps to your defense."); Pause(); TextCrawl("MUM: Sorry, we thought that soup was on sale..."); Pause(); TextCrawl("EMPLOYEE: You took me heckin' soup!"); Pause(); TextCrawl("YOU: But--"); TextCrawl("EMPLOYEE: Security! Get me security in the food isle!"); Pause(); TextCrawl("EMPLOYEE RADIO: On my way."); Pause(); TextCrawl("MUM: " + Globals.PlayerName + ", take the employee. I'll deal with the security."); Pause(); TutorialEncounter(); }
public static void TutorialEncounter() { Console.Clear(); Thread TitleTextCrawlThread = new Thread(() => TitleTextCrawl("ENCOUNTER!!!")); TitleTextCrawlThread.Start(); Sounds.Play("Encounter.wav"); Sounds.SndPlayer.controls.currentPosition = 0.5; for (int i = 0; i < 12; i++) { SetCol(ConsoleColor.Red, "back"); Console.Clear(); Sleep(100); SetCol(ConsoleColor.Black, "back"); Console.Clear(); Sleep(100); } SetCol(ConsoleColor.Red); TextCrawl("A WILD EMPLOYEE APPEARED!"); Sleep(1000); TextCrawl("FIRST STRIKE!"); Sleep(1000); SetCol(ConsoleColor.Green); TextCrawl("You have the first strike, as you started the battle by drawing first blood."); Sleep(1000); TextCrawl("This means you get the first turn, along with a 1 turn attack bonus."); Sleep(1000); TextCrawl("Let's take advantage of your first strike and attack the enemy by typing 'attack'!"); Sleep(3000); SetCol(ConsoleColor.Red); Console.Clear(); TextCrawl("YOUR TURN"); Sleep(1000); Console.Clear(); while (true) { Console.WriteLine("EMPLOYEE'S HEALTH: 30\nYOUR HEALTH: 100"); SetCol(ConsoleColor.DarkYellow); TextCrawl("\n~~>>> ", 50, false); SetCol(ConsoleColor.Red); string action = Console.ReadLine(); if (action != "attack") { SetCol(ConsoleColor.Green); TextCrawl("Nope. Attack the enemy by typing 'attack.'"); SetCol(ConsoleColor.Red); Sleep(2000); Console.Clear(); } else { break; } } Console.Clear(); Console.WriteLine("10 DAMAGE"); Sleep(1000); Console.Clear(); Console.WriteLine("10 DAMAGE + FIRST STRIKE"); Sleep(1000); Console.Clear(); Console.WriteLine("10 DAMAGE + 5"); Sleep(1000); Console.Clear(); Console.WriteLine("15 DAMAGE"); Sleep(2000); SetCol(ConsoleColor.Red, "back"); Sleep(100); SetCol(ConsoleColor.Black, "back"); TextCrawl("EMPLOYEE WAS HIT FOR 15 DAMAGE!"); Sleep(2000); Console.Clear(); TextCrawl("ENEMY TURN"); Sleep(1000); Console.Clear(); TextCrawl("EMPLOYEE USES VIGOUR OF RESILIANCE!"); Sleep(1000); SetCol(ConsoleColor.Green); TextCrawl("They just used an item to increase their chance of getting last stand."); Sleep(1000); TextCrawl("Let's use an item to increase our critical hit chance.\nBring up the items list with 'use' and select the vigour of luck."); Sleep(2000); SetCol(ConsoleColor.Red); Console.Clear(); TextCrawl("YOUR TURN"); Sleep(1000); while (true) { Console.Clear(); Console.WriteLine("EMPLOYEE'S HEALTH: 15\nYOUR HEALTH: 100"); SetCol(ConsoleColor.DarkYellow); TextCrawl("\n~~>>> ", 50, false); SetCol(ConsoleColor.Red); string action2 = Console.ReadLine(); } }