在我的静态列表上随机生成相同的单词(循环?)

时间:2015-02-02 21:42:01

标签: c#

我正在制作一个刽子手游戏,现在当你写下正确的单词时,你下次会得到相同的数字,基本上就是这样:

"嘿,说出来:10个字母"

"正确!想出这个词:10个字母"

冲洗并重复,即使我目前在列表中有5个不同的单词,您也可以用自己的语言表达。

有没有人知道如何一次强制一个随机单词?目前你可以猜到我每回合的每一个字。

干杯!

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)
    {    
        var random = new Random();
        int randomIndex = random.Next(ordbank.Count);
        string randomWord = ordbank[randomIndex];
       // För att generera random ord ifrån min ordbank. 

        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 + orden som redan finns.

                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 ordet : " + randomWord.Length + " Bokstäver "); //Length kollar antal bokstäver     
                    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, Gissa ordet: " + randomWord.Length + " Bokstäver "); //Length kollar antal bokstäver
                            }
                        }
                        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);

    }
}

编辑2:

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)
    {    
        var random = new Random();
        //int randomIndex = random.Next(ordbank.Count);
        //string randomWord = ordbank[randomIndex]; 
        // För att generera random ord ifrån min ordbank. 

        Console.WriteLine("Hänga gubbe!\n1) Lägg till ord\n2) Lista till alla ord\n3) Spela\n4) Avsluta");
        do
        {
            int randomIndex = random.Next(ordbank.Count);
            string randomWord = ordbank[randomIndex]; 

            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 + orden som redan finns.

                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 ordet : " + randomWord.Length + " Bokstäver "); //Length kollar antal bokstäver     
                    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, Gissa ordet: " + randomWord.Length + " Bokstäver "); //Length kollar antal bokstäver
                            }
                        }
                        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);

    }
}

0 个答案:

没有答案