Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2019
152
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 21.32 KB | None | 0 0
  1. /*
  2. +------------------------------+
  3. +------------------------------+
  4. | |           |   |          | |
  5. | |           +-+-+          | |
  6. | |             |            | |
  7. | |             |            | |
  8. | |             +            | |
  9. | |            XXX           | |
  10. | |           X   X          | |
  11. | |           X   X          | |
  12. | |            XXX           | |
  13. | |             X            | |
  14. | |             X            | |
  15. | |           XXXXX          | |
  16. | |          X  X  X         | |
  17. | |          X  X  X         | |
  18. | |          X  X  X         | |
  19. | |             X            | |
  20. | |            X X           | |
  21. | |            X X           | |
  22. | |           X   X          | |
  23. | |           X   X          | |
  24. | |          X     X         | |
  25. | |          X     X         | |
  26. | |                          | |
  27. | |                          | |
  28. +-+                          +-+
  29.  
  30. +------------------------------+
  31. +------------------------------+
  32. | |           |   |          | |
  33. | |           +-+-+          | |
  34. | |             |            | |
  35. | |             |            | |
  36. | |             +            | |
  37. | |            XXX           | |
  38. | |           X   X          | |
  39. | |           X   X          | |
  40. | |            XXX           | |
  41. | |             X            | |
  42. | |             X            | |
  43. | |           XXXXX          | |
  44. | |          X  X  X         | |
  45. | |          X  X  X         | |
  46. | |          X  X  X         | |
  47. | |             X            | |
  48. | |              X           | |
  49. | |              X           | |
  50. | |               X          | |
  51. | |               X          | |
  52. | |                X         | |
  53. | |                X         | |
  54. | |                          | |
  55. | |                          | |
  56. +-+                          +-+
  57.  
  58. +------------------------------+
  59. +------------------------------+
  60. | |           |   |          | |
  61. | |           +-+-+          | |
  62. | |             |            | |
  63. | |             |            | |
  64. | |             +            | |
  65. | |            XXX           | |
  66. | |           X   X          | |
  67. | |           X   X          | |
  68. | |            XXX           | |
  69. | |             X            | |
  70. | |             X            | |
  71. | |           XXXXX          | |
  72. | |          X  X  X         | |
  73. | |          X  X  X         | |
  74. | |          X  X  X         | |
  75. | |             X            | |
  76. | |                          | |
  77. | |                          | |
  78. | |                          | |
  79. | |                          | |
  80. | |                          | |
  81. | |                          | |
  82. | |                          | |
  83. | |                          | |
  84. +-+                          +-+
  85.  
  86. +------------------------------+
  87. +------------------------------+
  88. | |           |   |          | |
  89. | |           +-+-+          | |
  90. | |             |            | |
  91. | |             |            | |
  92. | |             +            | |
  93. | |            XXX           | |
  94. | |           X   X          | |
  95. | |           X   X          | |
  96. | |            XXX           | |
  97. | |             X            | |
  98. | |             X            | |
  99. | |             XXX          | |
  100. | |             X  X         | |
  101. | |             X  X         | |
  102. | |             X  X         | |
  103. | |             X            | |
  104. | |                          | |
  105. | |                          | |
  106. | |                          | |
  107. | |                          | |
  108. | |                          | |
  109. | |                          | |
  110. | |                          | |
  111. | |                          | |
  112. +-+                          +-+
  113.  
  114. +------------------------------+
  115. +------------------------------+
  116. | |           |   |          | |
  117. | |           +-+-+          | |
  118. | |             |            | |
  119. | |             |            | |
  120. | |             +            | |
  121. | |            XXX           | |
  122. | |           X   X          | |
  123. | |           X   X          | |
  124. | |            XXX           | |
  125. | |             X            | |
  126. | |             X            | |
  127. | |             X            | |
  128. | |             X            | |
  129. | |             X            | |
  130. | |             X            | |
  131. | |             X            | |
  132. | |                          | |
  133. | |                          | |
  134. | |                          | |
  135. | |                          | |
  136. | |                          | |
  137. | |                          | |
  138. | |                          | |
  139. | |                          | |
  140. +-+                          +-+
  141.  
  142. +------------------------------+
  143. +------------------------------+
  144. | |           |   |          | |
  145. | |           +-+-+          | |
  146. | |             |            | |
  147. | |             |            | |
  148. | |             +            | |
  149. | |            XXX           | |
  150. | |           X   X          | |
  151. | |           X   X          | |
  152. | |            XXX           | |
  153. | |                          | |
  154. | |                          | |
  155. | |                          | |
  156. | |                          | |
  157. | |                          | |
  158. | |                          | |
  159. | |                          | |
  160. | |                          | |
  161. | |                          | |
  162. | |                          | |
  163. | |                          | |
  164. | |                          | |
  165. | |                          | |
  166. | |                          | |
  167. | |                          | |
  168. +-+                          +-+
  169.  
  170. +------------------------------+
  171. +------------------------------+
  172. | |           |   |          | |
  173. | |           +-+-+          | |
  174. | |             |            | |
  175. | |             |            | |
  176. | |             +            | |
  177. | |                          | |
  178. | |                          | |
  179. | |                          | |
  180. | |                          | |
  181. | |                          | |
  182. | |                          | |
  183. | |                          | |
  184. | |                          | |
  185. | |                          | |
  186. | |                          | |
  187. | |                          | |
  188. | |                          | |
  189. | |                          | |
  190. | |                          | |
  191. | |                          | |
  192. | |                          | |
  193. | |                          | |
  194. | |                          | |
  195. | |                          | |
  196. +-+                          +-+
  197.  
  198. */
  199.  
  200. using System;
  201. using System.Collections.Generic;
  202. using System.Linq;
  203. using System.Text;
  204. using System.Threading.Tasks;
  205.  
  206. namespace Activity05
  207. {
  208.     class Program
  209.     {
  210.         static void Main(string[] args)
  211.         {
  212.             Console.SetWindowSize(120, 50);
  213.             Hangman hangman = new Hangman();
  214.             hangman.Run();
  215.         }
  216.     }
  217.  
  218.     public class Hangman
  219.     {
  220.         public void Run()
  221.         {
  222.             while (true)
  223.             {
  224.                 //Constructing the title screen.
  225.                 string gameTitle = @"
  226.              _    _                                                    
  227.             | |  | |                                                    
  228.             | |__| |   __ _   _ __     __ _   _ __ ___     __ _   _ __  
  229.             |  __  |  / _` | | '_ \   / _` | | '_ ` _ \   / _` | | '_ \
  230.             | |  | | | (_| | | | | | | (_| | | | | | | | | (_| | | | | |
  231.             |_|  |_|  \__,_| |_| |_|  \__, | |_| |_| |_|  \__,_| |_| |_|
  232.                                        __/ |                            
  233.                                       |___/                                
  234.    ";
  235.                 Console.WriteLine();
  236.                 Console.WriteLine(gameTitle);
  237.                 Console.WriteLine();
  238.                 Console.WriteLine("\n\t\tCorrectly guess all letters in the mystery word");
  239.                 Console.WriteLine("\t\t    and avoid reaching the end of your rope.");
  240.                 Console.WriteLine("\t\t\tThe 6th mistake will cost you!");
  241.                 Console.WriteLine();
  242.                 PressAnyKey("\n\n\t\t\tPress any key to continue ...");
  243.                 ClearScreen();
  244.                 Play();
  245.             }
  246.         }
  247.  
  248.         static void Play()
  249.         {
  250.             Console.Clear();
  251.  
  252.             string[] words = new string[] { "NEPTUNE", "NEPTUNE", "NEPTUNE", "NEPTUNE", "NEPTUNE", "NEPTUNE", "NEPTUNE", "NEPTUNE", "NEPTUNE" };
  253.             //string[] words = new string[] { "MERCURY", "VENUS", "EARTH", "MARS", "JUPITER", "SATURN", "URANUS", "NEPTUNE", "PLUTO" };
  254.             int LengthOfArray = words.Length;
  255.             string[] hangmans = new string[]
  256.             {
  257. @"            +------------------------------+
  258.            +------------------------------+
  259.            | |           |   |          | |
  260.            | |           +-+-+          | |
  261.            | |             |            | |
  262.            | |             |            | |
  263.            | |             +            | |
  264.            | |                          | |
  265.            | |                          | |
  266.            | |                          | |
  267.            | |                          | |
  268.            | |                          | |
  269.            | |                          | |
  270.            | |                          | |
  271.            | |                          | |
  272.            | |                          | |
  273.            | |                          | |
  274.            | |                          | |
  275.            | |                          | |
  276.            | |                          | |
  277.            | |                          | |
  278.            | |                          | |
  279.            | |                          | |
  280.            | |                          | |
  281.            | |                          | |
  282.            | |                          | |
  283.            +-+                          +-+",
  284. @"            +------------------------------+
  285.            +------------------------------+
  286.            | |           |   |          | |
  287.            | |           +-+-+          | |
  288.            | |             |            | |
  289.            | |             |            | |
  290.            | |             +            | |
  291.            | |            XXX           | |
  292.            | |           X   X          | |
  293.            | |           X   X          | |
  294.            | |            XXX           | |
  295.            | |                          | |
  296.            | |                          | |
  297.            | |                          | |
  298.            | |                          | |
  299.            | |                          | |
  300.            | |                          | |
  301.            | |                          | |
  302.            | |                          | |
  303.            | |                          | |
  304.            | |                          | |
  305.            | |                          | |
  306.            | |                          | |
  307.            | |                          | |
  308.            | |                          | |
  309.            | |                          | |
  310.            +-+                          +-+",
  311. @"            +------------------------------+
  312.            +------------------------------+
  313.            | |           |   |          | |
  314.            | |           +-+-+          | |
  315.            | |             |            | |
  316.            | |             |            | |
  317.            | |             +            | |
  318.            | |            XXX           | |
  319.            | |           X   X          | |
  320.            | |           X   X          | |
  321.            | |            XXX           | |
  322.            | |             X            | |
  323.            | |             X            | |
  324.            | |             X            | |
  325.            | |             X            | |
  326.            | |             X            | |
  327.            | |             X            | |
  328.            | |             X            | |
  329.            | |                          | |
  330.            | |                          | |
  331.            | |                          | |
  332.            | |                          | |
  333.            | |                          | |
  334.            | |                          | |
  335.            | |                          | |
  336.            | |                          | |
  337.            +-+                          +-+",
  338. @"            +------------------------------+
  339.            +------------------------------+
  340.            | |           |   |          | |
  341.            | |           +-+-+          | |
  342.            | |             |            | |
  343.            | |             |            | |
  344.            | |             +            | |
  345.            | |            XXX           | |
  346.            | |           X   X          | |
  347.            | |           X   X          | |
  348.            | |            XXX           | |
  349.            | |             X            | |
  350.            | |             X            | |
  351.            | |             XXX          | |
  352.            | |             X  X         | |
  353.            | |             X  X         | |
  354.            | |             X  X         | |
  355.            | |             X            | |
  356.            | |                          | |
  357.            | |                          | |
  358.            | |                          | |
  359.            | |                          | |
  360.            | |                          | |
  361.            | |                          | |
  362.            | |                          | |
  363.            | |                          | |
  364.            +-+                          +-+",
  365. @"            +------------------------------+
  366.            +------------------------------+
  367.            | |           |   |          | |
  368.            | |           +-+-+          | |
  369.            | |             |            | |
  370.            | |             |            | |
  371.            | |             +            | |
  372.            | |            XXX           | |
  373.            | |           X   X          | |
  374.            | |           X   X          | |
  375.            | |            XXX           | |
  376.            | |             X            | |
  377.            | |             X            | |
  378.            | |           XXXXX          | |
  379.            | |          X  X  X         | |
  380.            | |          X  X  X         | |
  381.            | |          X  X  X         | |
  382.            | |             X            | |
  383.            | |                          | |
  384.            | |                          | |
  385.            | |                          | |
  386.            | |                          | |
  387.            | |                          | |
  388.            | |                          | |
  389.            | |                          | |
  390.            | |                          | |
  391.            +-+                          +-+",
  392. @"            +------------------------------+
  393.            +------------------------------+
  394.            | |           |   |          | |
  395.            | |           +-+-+          | |
  396.            | |             |            | |
  397.            | |             |            | |
  398.            | |             +            | |
  399.            | |            XXX           | |
  400.            | |           X   X          | |
  401.            | |           X   X          | |
  402.            | |            XXX           | |
  403.            | |             X            | |
  404.            | |             X            | |
  405.            | |           XXXXX          | |
  406.            | |          X  X  X         | |
  407.            | |          X  X  X         | |
  408.            | |          X  X  X         | |
  409.            | |             X            | |
  410.            | |              X           | |
  411.            | |              X           | |
  412.            | |               X          | |
  413.            | |               X          | |
  414.            | |                X         | |
  415.            | |                X         | |
  416.            | |                          | |
  417.            | |                          | |
  418.            +-+                          +-+",
  419. @"            +------------------------------+
  420.            +------------------------------+
  421.            | |           |   |          | |
  422.            | |           +-+-+          | |
  423.            | |             |            | |
  424.            | |             |            | |
  425.            | |             +            | |
  426.            | |            XXX           | |
  427.            | |           X   X          | |
  428.            | |           X   X          | |
  429.            | |            XXX           | |
  430.            | |             X            | |
  431.            | |             X            | |
  432.            | |           XXXXX          | |
  433.            | |          X  X  X         | |
  434.            | |          X  X  X         | |
  435.            | |          X  X  X         | |
  436.            | |             X            | |
  437.            | |            X X           | |
  438.            | |            X X           | |
  439.            | |           X   X          | |
  440.            | |           X   X          | |
  441.            | |          X     X         | |
  442.            | |          X     X         | |
  443.            | |                          | |
  444.            | |                          | |
  445.            +-+                          +-+"
  446.             };
  447.  
  448.             Random rnd = new Random();
  449.             int random = rnd.Next(0, 9);
  450.             string Score = words[random];
  451.             int NumberOfLetters = Score.Length;
  452.             char[] letters = words[random].ToCharArray();
  453.  
  454.             int guesses = 0;
  455.             int correct = 0;
  456.  
  457.             var guess = new List<char>();
  458.  
  459.             Console.WriteLine("\n\tA mystery planet in our solar system has been randomly chosen!\n");
  460.             Console.WriteLine(hangmans[0]);
  461.             //Console.WriteLine(hangmans[guesses]);
  462.             Console.WriteLine("\n");
  463.             //Console.WriteLine("You have {0} guesses left!", guesses);
  464.  
  465.             while (NumberOfLetters != correct)
  466.             {
  467.                
  468.                 Console.Write("\n\t");
  469.  
  470.                 foreach (var c in letters)
  471.                 {
  472.                     if (guess.Contains(c))
  473.                         Console.Write(c);
  474.                     else
  475.                         Console.Write("_");
  476.                 }
  477.                
  478.                 Console.Write("\n\n\tEnter a letter --> ");
  479.                 string check = Console.ReadLine();
  480.                 check = check.ToUpper();
  481.  
  482.                 if (check.Length != 1)
  483.                 {
  484.                     Console.WriteLine("\nERROR: Please enter a single letter of the alphabet.");
  485.                 }
  486.                 else
  487.                 {
  488.                     char letter = char.Parse(check);
  489.  
  490.                     if (words[random].Contains<char>(letter))
  491.                     {
  492.  
  493.                         Console.Clear();
  494.                         guess.Add(letter);
  495.                         Console.WriteLine("\n\n");
  496.                         Console.WriteLine(hangmans[guesses]);
  497.                         Console.WriteLine("\n\tYou guessed right!");
  498.                         Console.WriteLine("\tYou have {0} guesses left!", guesses);
  499.                         correct++;
  500.                     }
  501.                     else
  502.                     {
  503.  
  504.                         Console.Clear();
  505.                         guesses++;
  506.                         guess.Add(letter);
  507.                         Console.WriteLine("\n\n");
  508.                         Console.WriteLine(hangmans[guesses]);
  509.                         Console.WriteLine("\n\tYou guessed wrong!");
  510.                         Console.WriteLine("\tYou have {0} guesses left!", guesses);
  511.                     }
  512.  
  513.                 }
  514.  
  515.                 if (guesses == 6)
  516.                 {
  517.                     break;
  518.                 }
  519.  
  520.             }
  521.  
  522.  
  523.             if (guesses == 6)
  524.             {
  525.                 Console.Clear();
  526.                 Console.WriteLine(hangmans[6]);
  527.                 Console.WriteLine("You lose :(");
  528.             }
  529.             else
  530.             {
  531.                 Console.Clear();
  532.                 Console.WriteLine(hangmans[guesses]);
  533.                 Console.WriteLine("You win! :)");
  534.             }
  535.  
  536.             playAnother();
  537.         }
  538.  
  539.         static void playAnother()
  540.         {
  541.             //Asks the player if they want to play another game.
  542.             string anotherGame = "y";
  543.  
  544.             while (true)
  545.             {
  546.                 Console.Write("\n\tPlay another game? Enter y|n ==> ");
  547.                 anotherGame = Console.ReadLine();
  548.                 if (anotherGame.Equals("y"))
  549.                 {
  550.                     ClearScreen();
  551.  
  552.                     Play();
  553.                 }
  554.                 else if (anotherGame.Equals("n"))
  555.                 {
  556.                     Exit();
  557.                 }
  558.                 else
  559.                 {
  560.                     Console.WriteLine("ERROR: You must enter one of these characters: y, n");
  561.                 }
  562.             }
  563.         }
  564.  
  565.         static void Exit()
  566.         {
  567.             //Exits the game.
  568.             Console.WriteLine();
  569.             Console.WriteLine("\tThank you for playing!");
  570.             Console.WriteLine();
  571.             PressAnyKey("\tPress any key to exit ...");
  572.             Environment.Exit(0);
  573.         }
  574.  
  575.         static void ClearScreen()
  576.         {
  577.             //Clears the screen.
  578.             Console.Clear();
  579.         }
  580.  
  581.         static void PressAnyKey(string prompt)
  582.         {
  583.             //Reads the input when the player is asked to "press any key".
  584.             Console.Write(prompt);
  585.             Console.ReadKey();
  586.         }
  587.  
  588.     }
  589. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement