I am currently making an Hangman game, and I have everything set except having it so for each turn the player is guessing on a random word, currently they can guess on all the words in my dictionary/wordbank, and also to tell the player how many letters the word has, Currently you can write random words in hope that you get the correct one. The only idea I have is o to use Random, but further then that and I'm lost.
Cheers.
class Program
{
static List<string> ordbank = new List<string>()
{
"Leksak", "Djur", "Organismer", "Mat", "Länder"
};
static bool runMenu = true; //kör menyn
static bool runGame = false; //kör spelet
static int numberOfTries = 2; //antal försök personen har på sig
static int wrongGuesses = 0; // hur många gånger har personen gissat fel
static int numWordsToPutIn = 1; //Lägga till ett extra ord till listan, skulle vilja göra så man kan lägga till fler än 1 åt gången.
static void Main(string[] args)
{
Console.WriteLine("Hänga gubbe!\n1) Lägg till ord\n2) Lista till alla ord\n3) Spela\n4) Avsluta");
do
{
Console.Write("Menu: ");
string menuInput = Console.ReadLine();
switch (menuInput.ToLower())
{
case "1":
Console.WriteLine("Du ska lägga till " + numWordsToPutIn + " ord nu.");
for (int i = 1; i <= numWordsToPutIn; i++)
{
Console.WriteLine("Lägg till ord " + i + ": ");
string wordInput = Console.ReadLine();
ordbank.Add(wordInput);
}
ordbank.Sort();
break; //Ifall man vill lägga till nytt ord till listan.
case "2":
Console.WriteLine("Nu skrivs alla orden ut: ");
if (ordbank.Count > 0)
{
foreach (string ord in ordbank)
{
Console.WriteLine(ord);
}
}
else
{
Console.WriteLine("Listan är tom. Fyll den först."); //Behövs denna nu när jag ändrade så ord redan finns?
}
break; //Skriver ut orden de lagt in.
case "3":
if (ordbank.Count == 0)
{
Console.WriteLine("Fyll ordlistan med " + numWordsToPutIn + " ord innan du börjar spelet");
break;
}
Console.WriteLine("Hur många fel får man ha: " + numberOfTries + " ");
Console.WriteLine("Då kör vi, gissa vilka ord som finns med");
runGame = true;
wrongGuesses = 0;
do
{
Console.Write("Gissa ord: ");
string guessedWord = Console.ReadLine();
if (ordbank.Contains(guessedWord))
{
ordbank.Remove(guessedWord);
//kolla om personen har vunnit
if (ordbank.Count == 0)
{
Console.WriteLine("Grattis du vann");
runGame = false;
}
else
{
Console.WriteLine("Wohoo det ordet fanns med, fortsätt!");
}
}
else
{
wrongGuesses++;
//kolla om personen har förlorat
if (wrongGuesses == numberOfTries)
{
runGame = false;
Console.WriteLine("Du förlorade.");
ordbank.Clear();
}
else
{
Console.WriteLine("Du gissade fel, du har " + (numberOfTries - wrongGuesses) + " försök kvar");
}
}
} while (runGame);
break;
case "4":
Console.WriteLine("Spelet avslutas nu...");
runMenu = false;
break;
default:
Console.WriteLine("Snälla välj ett tal mellan 1 - 4.");
break;
}
} while (runMenu == true);
}
}
}