static void Abfrage(ref string wortGesucht, ref char[] loesung, ref char[] leben)
int richtigerBuchstabe = 1;
while (!gewonnen && restLeben > 0)
Console.Write("Buchstaben drücken: ");
char buchstabe = Console.ReadKey().KeyChar;
buchstabe = Char.ToLower(buchstabe);
int restBuchstaben = wortGesucht.Length;
if (buchstabe >= 'a' || buchstabe <= 'z')
if (wortGesucht.Contains(buchstabe))
for (int i = 0; i < wortGesucht.Length; i++)
if (wortGesucht[i] == buchstabe)
loesung[i] = wortGesucht[i];
Console.WriteLine($"Treffer, nur noch {restBuchstaben} Buchstaben zu raten!");
if (richtigerBuchstabe == wortGesucht.Length)
Console.WriteLine("Daneben!");
Console.WriteLine("Bitte geben Sie einen Buchstaben zwischen a und z ein: ");
buchstabe = Console.ReadKey().KeyChar;
buchstabe = Char.ToLower(buchstabe);
for (int i = 0; i < loesung.Length; i++)
Console.Write(loesung[i]);
Console.WriteLine("*** Gratuliere, Sie haben gewonnen! ***");
Console.WriteLine($"*** Verloren! Das richtige Wort war '{wortGesucht}' *** ");
static void Main(string[] args)
Console.WriteLine("TIER - LAND - STADT QUIZ");
string[] tiere = { "Hase", "Katze", "Ente", "Uhu", "Amsel", "Reh", "Pony", "Igel", "Tiger", "Ziege" };
string[] land = { "England", "Russland", "Island", "Kanada", "Portugal", "Spanien", "Schweden", "Japan", "Korea", "China" };
string[] stadt = { "Paris", "Berlin", "London", "Prag", "Tokyo", "Seattle", "Oslo", "Madrid", "Venedig", "Moskau" };
#region Auswahl Kategorie
Console.WriteLine("Wählen Sie eine der folgenden Kategorien aus:");
Console.Write($"1. TIER \n2. LAND \n3. STADT \nAuswahl: ");
char auswahl = Convert.ToChar(Console.ReadLine());
while (auswahl > '3' || auswahl < '1')
Console.Write($"Bitte geben Sie eine Zahl zwischen 1 und 3 an.\nAuswahl: ");
auswahl = Convert.ToChar(Console.ReadLine());
#region Auswahl der Wörter
string wortGesucht = "", kategorie = "";
Random zufall = new Random();
index = zufall.Next(0, 10);
wortGesucht = tiere[index];
Random zufall = new Random();
index = zufall.Next(0, 10);
wortGesucht = land[index];
Random zufall = new Random();
index = zufall.Next(0, 10);
wortGesucht = stadt[index];
Console.WriteLine($"Gesucht: {kategorie} mit {wortGesucht.Length} Buchstaben und Anfangsbuchstaben '{wortGesucht[0]}'");
#region Ausgabe der ersten Phase (Nur Anfangsbuchstabe + volles Leben)
char[] loesung = new char[wortGesucht.Length];
loesung[0] = wortGesucht[0];
Console.Write(wortGesucht[0]);
for (int i = 1; i < wortGesucht.Length; i++)
Console.Write(loesung[i]);
Console.Write(" Leben: ");
char[] leben = new char[5];
for (int i = 0; i < leben.Length; i++)
Abfrage(ref wortGesucht, ref loesung, ref leben);