Advertisement
Guest User

Untitled

a guest
Jul 23rd, 2017
56
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.52 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4.  
  5. namespace ConsoleApplication
  6. {
  7. internal class Program
  8. {
  9. public static void Main(string[] args)
  10. {
  11. Console.SetWindowSize(100, 50);
  12.  
  13. while (true)
  14. {
  15. Console.Clear();
  16. Console.Write("Willkommen im Casino Royale!\n\nBitte gib deinen Namen ein: ");
  17. string name = Console.ReadLine();
  18.  
  19. if (!File.Exists("highscore.txt"))
  20. {
  21. File.Create("highscore.txt").Dispose();
  22. }
  23.  
  24. string highscore = File.ReadAllText("highscore.txt");
  25.  
  26. //MENÜ
  27.  
  28. ConsoleKeyInfo key;
  29.  
  30. string auswahl = " ";
  31.  
  32. while (auswahl != "S")
  33. {
  34. Console.Clear();
  35. Console.WriteLine("CASINO ROYALE\n\n");
  36. Console.WriteLine("Spiel Starten (Drücke die Taste 's')");
  37. Console.WriteLine("Highscore (Drücke die Taste 'h')");
  38. Console.WriteLine("Du bist nicht " + name + "? (Drücke die Taste 'n')");
  39. Console.WriteLine("Spiel Beenden (Drücke die Taste 'b')");
  40.  
  41. key = Console.ReadKey(true);
  42. auswahl = key.Key.ToString();
  43.  
  44. while (auswahl != "B" && auswahl != "H" && auswahl != "S" && auswahl != "N")
  45. {
  46. Console.Clear();
  47. Console.WriteLine("CASINO ROYALE\n\n");
  48. Console.WriteLine("Spiel Starten (Drücke die Taste 's')");
  49. Console.WriteLine("Highscore (Drücke die Taste 'h')");
  50. Console.WriteLine("Spiel Beenden (Drücke die Taste 'b')");
  51.  
  52. Console.WriteLine("\nUngültige Eingabe. Bitte wiederholen!");
  53. key = Console.ReadKey(true);
  54. auswahl = key.Key.ToString();
  55. }
  56.  
  57. //HIGHSCORE
  58. if (auswahl == "H")
  59. {
  60. Console.Clear();
  61. Console.WriteLine("HIGHSCORE\n\n" + highscore + "\n\nDrücke eine beliebige Taste zum zurückkehren.");
  62. Console.ReadKey();
  63. }
  64.  
  65. //FALSCHER NAME
  66. if (auswahl == "N")
  67. {
  68. Console.Clear();
  69. Console.WriteLine("Bitte gib deinen Namen ein: ");
  70. name = Console.ReadLine();
  71. }
  72.  
  73. //BEENDEN
  74. if (auswahl == "B")
  75. {
  76. Environment.Exit(0);
  77. }
  78. }
  79.  
  80. // SPIELSTART
  81.  
  82. if (auswahl == "S")
  83. {
  84. Console.Clear();
  85.  
  86. int guthaben = 100;
  87. Random gen = new Random();
  88.  
  89. Console.WriteLine("Willkommen im Casino Royale!\nDu hast " + guthaben + " Guthaben!");
  90. Console.WriteLine(
  91. "Schätze eine Zahl zwischen 1 und 100. Wenn du genau triffst erhältst du 5 mal deinen Einsatz!");
  92. Console.WriteLine(
  93. "Wenn du um 5 daneben liegst, 3 mal deinen Einsatz. Und wenn du um 10 daneben liegst, den doppelten Einsatz!");
  94. Console.WriteLine("Bis 20 erhältst du deinen Einsatz zurück!");
  95. Console.WriteLine("Wenn du weiter als 20 entfernt bist verlierst du deinen Einsatz!");
  96. Console.WriteLine(
  97. "\nDu kannst das Spiel jederzeit beenden, um dein Guthaben in den Highscore aufzunehmen!");
  98.  
  99. while (guthaben > 0)
  100. {
  101. int einsatz, angabe, gewinn;
  102. bool result;
  103.  
  104. Console.Clear();
  105.  
  106. Console.WriteLine("\nGuthaben: " + guthaben);
  107. Console.Write("Wie hoch ist dein Einsatz? ");
  108.  
  109. while (!(result = (int.TryParse(Console.ReadLine(), out einsatz))) || (einsatz > guthaben || einsatz <= 0))
  110. {
  111. Console.WriteLine(!result
  112. ? "Falsche Eingabe! Bitte wiederholen!"
  113. : "Du hast nicht so viel Guthaben! Bitte Eingabe wiederholen!");
  114. }
  115.  
  116. Console.Write("Was ist deine Schätzung? ");
  117.  
  118. while (!(result = (int.TryParse(Console.ReadLine(), out angabe))) || (angabe < 1 || angabe > 100))
  119. {
  120. Console.WriteLine(!result
  121. ? "Falsche Eingabe! Bitte wiederholen!"
  122. : "Die Schätzung muss zwischen 1 und 100 liegen! Bitte Eingabe wiederholen!");
  123. }
  124.  
  125. int wert = gen.Next(1, 101);
  126. Console.Clear();
  127. Console.WriteLine("Der Wert ist " + wert + " !");
  128. int diff = Math.Abs(angabe - wert);
  129.  
  130. if (diff == 0)
  131. {
  132. Console.WriteLine("Volltreffer! Du bekommst den 5-fachen Einsatz als Guthaben!");
  133. guthaben += (gewinn = 5 * einsatz);
  134. }
  135. else if (diff <= 5)
  136. {
  137. Console.WriteLine("Du liegst nur um " + diff + " daneben! Du bekommst den 3-fachen Einsatz als Guthaben!");
  138. guthaben += (gewinn = 3 * einsatz);
  139. }
  140. else if (diff <= 10)
  141. {
  142. Console.WriteLine("Du liegst um " + diff + " daneben! Du bekommst den 2-fachen Einsatz als Guthaben!");
  143. guthaben += (gewinn = 2 * einsatz);
  144. }
  145. else if (diff <= 20)
  146. {
  147. Console.WriteLine("Du liegst um " + diff + " daneben! Du bekommst deinen Einsatz als Guthaben zurück!");
  148. gewinn = 0;
  149. }
  150. else
  151. {
  152. Console.WriteLine("Leider liegst du komplett daneben! Du verlierst deinen kompletten Einsatz!");
  153. guthaben -= (gewinn = einsatz);
  154. }
  155.  
  156. Console.Write("\n\nDeine Schätzung: " + angabe + " | Zufallszahl: " + wert + " | ");
  157. Console.WriteLine(diff > 20 ? "Verlust: " + einsatz : "Gewinn: " + gewinn);
  158.  
  159. if (guthaben <= 0)
  160. {
  161. Console.WriteLine("\n\nLeider hast du kein Guthaben mehr übrig.\nDrücke eine beliebige Taste zum fortfahren.");
  162. Console.ReadKey();
  163. break;
  164. }
  165.  
  166. Console.WriteLine("\n\nMöchtest du fortfahren? (j) \n\nOder möchtest du beenden und dein Guthaben in den Highscore aufnehmen? (n)");
  167. key = Console.ReadKey(true);
  168. auswahl = key.Key.ToString();
  169.  
  170. while (auswahl != "J" && auswahl != "N")
  171. {
  172. Console.WriteLine("Ungültige Eingabe bitte wiederholen");
  173. key = Console.ReadKey(true);
  174. auswahl = key.Key.ToString();
  175. }
  176.  
  177. if (auswahl == "N")
  178. {
  179. File.AppendAllText("highscore.txt", name + " " + guthaben + Environment.NewLine);
  180.  
  181. //HIGHSCORE SORTIEREN
  182.  
  183. string[] score = File.ReadAllLines("highscore.txt");
  184. string zusammen = string.Join(" ", score);
  185. score = zusammen.Split(' ');
  186.  
  187. string[] namen = new string[score.Length/2];
  188. int[] zahlen = new int[score.Length/2];
  189.  
  190. for (int i = 0, j = 0; i < score.Length; i+=2)
  191. {
  192. namen[j] = score[i];
  193. j++;
  194. }
  195.  
  196. for (int i = 1, j = 0; i < score.Length; i+=2)
  197. {
  198. zahlen[j] = int.Parse(score[i]);
  199. j++;
  200. }
  201.  
  202. int ihilfe = 0;
  203. string shilfe = "";
  204.  
  205. for (int i = 0; i < zahlen.Length; i++)
  206. {
  207. for (int k = i+1; k < zahlen.Length; k++)
  208. {
  209. if (zahlen[i] < zahlen[k])
  210. {
  211. ihilfe = zahlen[i];
  212. zahlen[i] = zahlen[k];
  213. zahlen[k] = ihilfe;
  214.  
  215. shilfe = namen[i];
  216. namen[i] = namen[k];
  217. namen[k] = shilfe;
  218. }
  219. }
  220. }
  221.  
  222. string fertig = "";
  223.  
  224. for (int i = 0; i < score.Length/2; i++)
  225. {
  226. fertig += namen[i] + " " + zahlen[i] + Environment.NewLine;
  227. }
  228.  
  229. File.WriteAllText("highscore.txt", fertig);
  230.  
  231. break;
  232. }
  233.  
  234. }
  235. }
  236. }
  237. }
  238. }
  239. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement