Advertisement
Guest User

SteamedHams.cs

a guest
Oct 14th, 2019
556
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 13.45 KB | None | 0 0
  1. using System;
  2. using static System.Console;
  3. using System.IO;
  4.  
  5. namespace TextAdventureEngine
  6. {
  7. class SteamedHams
  8. {
  9. static void Main(string[] args)
  10. {
  11. TextAdventure steamedHams = new TextAdventure("Steamed Hams", "Josiah Winslow", "Follow the adventures of Seymour Skinner as he attempts to prepare an unforgettable luncheon!");
  12.  
  13. steamedHams.AddCharacter("Skinner", ConsoleColor.DarkMagenta, 'L');
  14. steamedHams.AddCharacter("Chalmers", ConsoleColor.Yellow, 'R');
  15. steamedHams.AddCharacter("Mother", ConsoleColor.Cyan, 'R');
  16.  
  17. steamedHams.AddScene("intro", new string[]
  18. {
  19. "\"STEAMED HAMS\" is copyright of Chalmskinn Productions. This adaptation was written with permission in C# by Josiah Winslow, based on a ZX Spectrum adaptation by Prosm Software.",
  20. "#theme#",
  21. }, "opening", false, true);
  22.  
  23. steamedHams.AddScene("opening", new string[]
  24. {
  25. "One afternoon in 1996...",
  26. "",
  27. "Ding-dong!",
  28. "Skinner opens the door and sees Superintendent Chalmers standing on the porch.",
  29. "@Chalmers@Well Seymour, I made it, *despite* your directions.",
  30. "@Skinner@Ah, Superintendent Chalmers, welcome! I hope you're prepared for an unforgettable luncheon.",
  31. "@Chalmers@Hmm.",
  32. "Chalmers enters Skinner's house and takes a seat at the table, placing his bottle of wine in the ice bucket. Seymour opens the kitchen door, to a terrible shock!",
  33. }, "roastRuined");
  34.  
  35. steamedHams.AddScene("roastRuined", new string[]
  36. {
  37. "@Skinner@Oh egads!!",
  38. "Skinner rushes to the oven and opens it, witnessing the horrible truth: his roast has been set aflame.",
  39. "@Skinner@My roast is ruined!",
  40. "Skinner turns his attention to the window, noticing the nearby Krusty Burger restaurant.",
  41. "@Skinner@But, what if, I were to purchase fast food and disguise it as my own cooking? Ho ho ho ho ho! Delightfully devilish, Seymour!",
  42. "Seymour quickly opens the window and removes his apron. Just as he gets his leg over the window frame, however...",
  43. "@Chalmers@Ah..",
  44. "@Chalmers@SEYMOUR!",
  45. "#seymour#",
  46. "@Skinner@Superintendent!",
  47. "So, the big cheese has caught Seymour, but what happens now? That's up to you...",
  48. });
  49. steamedHams.Scenes["roastRuined"].AddChoice("Seymour tells the truth.", "seymourTruth");
  50. steamedHams.Scenes["roastRuined"].AddChoice("He's stretching his calves!", "stretchingCalves");
  51.  
  52. steamedHams.AddScene("seymourTruth", new string[]
  53. {
  54. "@Skinner@Superintendent! I'm afraid to say that, er...",
  55. "@Chalmers@Yes?",
  56. "@Skinner@That the, um..., the-",
  57. "@Chalmers@What is it?",
  58. "@Skinner@The roast's off.",
  59. "@Chalmers@Ah-",
  60. "@Chalmers@Seymour, I have had it with you. First, you send me all through this crummy town because of your lousy directions and *now* I find that I've wasted my time?",
  61. "@Skinner@Erhm, well-",
  62. "@Chalmers@You're fired.",
  63. "",
  64. "Well, you've done it now. Chalmers has booted Seymour out of his job, all because he was honest. Can't you see that lying helps everyone involved?!",
  65. }, null, true);
  66.  
  67. steamedHams.AddScene("stretchingCalves", new string[]
  68. {
  69. "@Skinner@Superintendent! I was just, err, stretching my calves on the windowsill! Isometric exercise! Care to join me?",
  70. "@Chalmers@Why is there smoke coming out of your oven, Seymour?",
  71. "@Skinner@Oh, erhm, that isn't smoke, it's steam! Steam from the steamed clams we're having. Mmm, steamed clams!",
  72. "Chalmers leaves the room, slightly suspicious. Skinner is relieved and jumps out the window, running down to Krusty Burger to obtain his fast-food.",
  73. "After some time, Skinner returns to the dining room with a platter of hamburgers and fries...",
  74. }, "mouthwateringHamburgers");
  75.  
  76. steamedHams.AddScene("mouthwateringHamburgers", new string[]
  77. {
  78. "@Skinner@Superintendent, I hope you're ready for mouthwatering hamburgers!",
  79. "@Chalmers@I thought we were having steamed clams.",
  80. "",
  81. "Uh-oh, Chalmers has found a hole in your story. How will you retcon this?",
  82. });
  83. steamedHams.Scenes["mouthwateringHamburgers"].AddChoice("He said \"steamed hams\"!", "steamedHams");
  84. steamedHams.Scenes["mouthwateringHamburgers"].AddChoice("He had to change his plans.", "changePlans");
  85.  
  86. steamedHams.AddScene("steamedHams", new string[]
  87. {
  88. "@Chalmers@I thought we were having steamed clams.",
  89. "@Skinner@D'oh, no. I said steamed *hams*! That's what I call hamburgers!",
  90. "@Chalmers@You call hamburgers \"steamed hams\"?",
  91. "@Skinner@Yes, it's a regional dialect.",
  92. "@Chalmers@Uh-huh. What region?",
  93. "@Skinner@Erhm... upstate New York?",
  94. "@Chalmers@Really? Well, I'm from Utica and I've never heard anyone use the phrase \"steamed hams\".",
  95. "@Skinner@Oh, not in Utica, no. It's an Albany expression.",
  96. "@Chalmers@I see.",
  97. "Skinner and Chalmers tuck in to the fraudulent luncheon.",
  98. "@Chalmers@You know, these hamburgers are quite similar to the ones they have at Krusty Burger.",
  99. "",
  100. "This gets worse and worse! Now the superintendent's suspicious. What should Skinner do?",
  101. });
  102. steamedHams.Scenes["steamedHams"].AddChoice("Admit that they are Krusty Burgers.", "krustyBurgers");
  103. steamedHams.Scenes["steamedHams"].AddChoice("Tell him it's a family recipe.", "familyRecipeSuspicious");
  104.  
  105. steamedHams.AddScene("changePlans", new string[]
  106. {
  107. "@Chalmers@I thought we were having steamed clams.",
  108. "@Skinner@Well, it turns out that the clams were off. If you had eaten them, you would have been poisoned.",
  109. "@Chalmers@Really, Seymour. You're *inept*!",
  110. "@Chalmers@But, looking on the bright side, at least I didn't eat them. Well, these hamburgers will be sufficient.",
  111. "Skinner and Chalmers tuck in to the hamburgers.",
  112. "@Chalmers@You know, these hamburgers are quite similar to the ones they have at Krusty Burger.",
  113. "",
  114. "This gets worse and worse! Now the superintendent's on to you. What should Skinner do now?",
  115. });
  116. steamedHams.Scenes["changePlans"].AddChoice("Admit that they are Krusty Burgers.", "krustyBurgers");
  117. steamedHams.Scenes["changePlans"].AddChoice("Tell him it's a family recipe.", "familyRecipe");
  118.  
  119. steamedHams.AddScene("krustyBurgers", new string[]
  120. {
  121. "@Chalmers@You know, these hamburgers are quite similar to the ones they have at Krusty Burger.",
  122. "@Skinner@Well, you see... they are Krusty Burgers.",
  123. "@Chalmers@What?",
  124. "@Skinner@I burnt the roast. I jumped out the window and ran down to Krusty Burger.",
  125. "@Chalmers@Seymour, I have had it with you. You send me all through this crummy town because of your lousy directions *just* to eat fast food with you?",
  126. "@Skinner@Erhm, well-",
  127. "@Chalmers@You're fired.",
  128. "",
  129. "Well, you've done it now. Chalmers has kicked Seymour out of his job, all over a little luncheon mishap. Why didn't you lie?",
  130. }, null, true);
  131.  
  132. steamedHams.AddScene("familyRecipe", new string[]
  133. {
  134. "@Chalmers@You know, these hamburgers are quite similar to the ones they have at Krusty Burger.",
  135. "@Skinner@Oh ho ho, no. Patented Skinner Burgers. Old family recipe.",
  136. "@Chalmers@Well, they're surprisingly good, Seymour.",
  137. "@Skinner@Excuse me for one second.",
  138. "@Chalmers@Of course!",
  139. "Skinner enters the kitchen once more, the door swinging open and revealing the flames that hungrily consume the room. He leaves rather quickly.",
  140. "@Skinner@Well, that was wonderful! Good time was had by all. I'm pooped!",
  141. "@Chalmers@Yes, I should be-",
  142. "Chalmers catches sight of the flames.",
  143. "@Chalmers@Good lord, what is happening in there?",
  144. "",
  145. "The game's up. How will Skinner explain the fire?",
  146. });
  147. steamedHams.Scenes["familyRecipe"].AddChoice("Go in and investigate the fire.", "investigateFire");
  148. steamedHams.Scenes["familyRecipe"].AddChoice("It's the Northern Lights.", "auroraBorealis");
  149.  
  150. steamedHams.AddScene("familyRecipeSuspicious", new string[]
  151. {
  152. "@Chalmers@You know, these hamburgers are quite similar to the ones they have at Krusty Burger.",
  153. "@Skinner@Oh ho ho, no. Patented Skinner Burgers. Old family recipe.",
  154. "@Chalmers@For steamed hams?",
  155. "@Skinner@Yes!",
  156. "@Chalmers@Yes, and you call them \"steamed hams\" despite the fact that they're obviously grilled.",
  157. "Skinner stumbles for words.",
  158. "@Skinner@Eh, well-",
  159. "@Skinner@The one thing I should-",
  160. "@Skinner@Excuse me for one second.",
  161. "@Chalmers@Of course.",
  162. "Skinner enters the kitchen once more, the door swinging open and revealing the flames that hungrily consume the room. He leaves rather quickly.",
  163. "@Skinner@Well, that was wonderful! Good time was had by all. I'm pooped!",
  164. "@Chalmers@Yes, I should be-",
  165. "Chalmers catches sight of the flames.",
  166. "@Chalmers@Good lord, what is happening in there?",
  167. "",
  168. "The game's up. How will Skinner explain the fire?",
  169. });
  170. steamedHams.Scenes["familyRecipeSuspicious"].AddChoice("Go in and investigate the fire.", "investigateFire");
  171. steamedHams.Scenes["familyRecipeSuspicious"].AddChoice("It's the Northern Lights.", "auroraBorealis");
  172.  
  173. steamedHams.AddScene("investigateFire", new string[]
  174. {
  175. "@Chalmers@Good Lord, what is happening in there?",
  176. "@Skinner@I don't know; I'll check.",
  177. "Seymour enters the kitchen, closing the door behind him so as not to arouse more suspicion. However, he unfortunately inhales the smoke, knocking him out. Chalmers eventually goes in after him, finding him on the floor. He drags Skinner out and helps Agnes escape also. Skinner soon regains conciousness, and is greeted with...",
  178. "@Chalmers@SEYMOUR!!",
  179. "#seymour#",
  180. "@Chalmers@Seymour, I have had it with you. I can't believe you're the principal of the elementary school. Your attitude towards fire safety is shoddy at best. You will never teach again. You're fired!!",
  181. "@Skinner@I'm sorry, did you just call me a liar?!",
  182. "@Chalmers@No, I said you were fired.",
  183. "@Skinner@Oh.",
  184. "@Skinner@That's much worse.",
  185. "",
  186. "I can't believe it. You've gotten this far through the game, and you still don't know how to lie?! Go and try again, and do it properly this time!!",
  187. }, null, true);
  188.  
  189. steamedHams.AddScene("auroraBorealis", new string[]
  190. {
  191. "@Skinner@Aurora Borealis.",
  192. "@Chalmers@A-",
  193. "@Chalmers@Aurora Borealis?",
  194. "@Chalmers@At this time of year?",
  195. "@Chalmers@At this time of day?",
  196. "@Chalmers@In this part of the country?!",
  197. "@Chalmers@Localized *entirely* within your kitchen?!?",
  198. "@Skinner@Yes.",
  199. "@Chalmers@May I see it?",
  200. "@Skinner@No.",
  201. }, "backOutside");
  202.  
  203. steamedHams.AddScene("backOutside", new string[]
  204. {
  205. "Back outside on Seymour's porch...",
  206. "@Mother@Seymour! The house is on fire!!",
  207. "@Skinner@No, mother, it's just the northern lights.",
  208. "@Chalmers@Well, Seymour, you are an odd fellow but I must say, you steam a good ham!",
  209. "Chalmers, satisfied by his lunch, walks away from Skinner's house content, but pauses when...",
  210. "@Mother@Help!! Help!!!",
  211. "Seymour gives a thumbs-up sign, leading Chalmers to leave unconcerned.",
  212. }, "end");
  213.  
  214. steamedHams.AddScene("end", new string[]
  215. {
  216. "Congratulations, you did it! Seymour got away with his little trick on Chalmers and rescued his luncheon, even in the most dire situations!",
  217. }, null, true);
  218.  
  219. steamedHams.Run();
  220. }
  221. }
  222. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement