随机问题和猜测 [英] Random questions and a nuber of guesses

查看:87
本文介绍了随机问题和猜测的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好!

我正在设计一个C#控制台程序.如果您想参加测验.知道的,用开关即可运行.当您回答正确时,就会出现一个新问题.但我真的想让问题随机出现在播放器中.而且我想给玩家一些猜测..

现在有人怎么做吗?

Hi people!

Im designing a C# console program. A quiz if you''d like. Right know, its run with a switch. And when you answer correct, a new question comes up. But i really wanna make the questions come to the player randomly. And i want to give the player a number of guesses..

Does anyone now how to do that?

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.ForegroundColor = ConsoleColor.Yellow;

            //Velkomst teks
            Start:
            Console.WriteLine("Velkommen til quizen!");
            Console.WriteLine();

            //Spørgsmål 1 stilles
            Console.WriteLine("Spørgsmål 1:");
            Console.WriteLine("Hvad hedder Apple's banebrydende musik afspiller fra 2001?");
            //Spilleren angiver et svar, som bliver lagret som "input"
            string input = Console.ReadLine();
            switch (input.ToLower())
            {
                //Hvis spillerens (input) var "ipod", bliver denne kode kørt
                case "ipod":
                    Console.WriteLine();
                    Console.WriteLine("Det er rigtigt!");
                    Console.WriteLine("iPod'en blev lanceret d. 23 Oktober, 2001. I December 2010, havde Apple solgt");
                    Console.WriteLine("297.000 eksemplare af iPod'en over hele verdenen.");
                    Console.WriteLine(" - - - - - - - - - ");
                    Console.WriteLine();
                    Console.WriteLine("_|_");
                    Console.WriteLine();
                    Console.WriteLine(" - - - - - - - - - ");

                            //Spørgsmål 2 stilles
                            Console.WriteLine("Spørgsmål 2:");
                            Console.WriteLine("Hvad hedder Apple's tidligere COO til fornavn?");
                            //Spilleren angiver et svar, som bliver lagret som "input2"
                            string input2 = Console.ReadLine();
                            switch (input2.ToLower())
                            {
                                case "tim":
                                    Console.WriteLine();
                                    Console.WriteLine("Det er rigtigt!");
                                    Console.WriteLine("Tim Cook (som er hans fulde navn), blev født d. 1 November 1960");
                                    Console.WriteLine("Han kom til Apple i Marts 1998.");
                                    Console.WriteLine(" - - - - - - - - - ");
                                    Console.WriteLine();
                                    Console.WriteLine(" | ");
                                    Console.WriteLine("_|_");
                                    Console.WriteLine();
                                    Console.WriteLine(" - - - - - - - - - ");

                                            //Spørgsmål 3 stilles
                                            Console.WriteLine("Spørgsmål 3:");
                                            Console.WriteLine("Hvilket år blev Apple grundlagt?");
                                            //Spilleren angiver et svar, som bliver lagret som "input3"
                                            string input3 = Console.ReadLine();
                                            switch (input3.ToLower())
                                            {
                                                case "1976":
                                                    Console.WriteLine();
                                                    Console.WriteLine("Det er rigtigt!");
                                                    Console.WriteLine("Apple er i dag verdens mest værdifulde firma på aktiemarkedet,");
                                                    Console.WriteLine("og havde indtægter for 65 milliarder dollers i 2010");
                                                    Console.WriteLine(" - - - - - - - - - ");
                                                    Console.WriteLine();
                                                    Console.WriteLine(" O/ ");
                                                    Console.WriteLine(" | ");
                                                    Console.WriteLine("_|_");
                                                    Console.WriteLine();
                                                    Console.WriteLine(" - - - - - - - - - ");

                                                                //Spørgsmål 4 stilles
                                                                Console.WriteLine("Spørgsmål 4:");
                                                                Console.WriteLine("Hvad hedder den nylig aftrådte CEO for Apple til efternavn?");
                                                                //Spilleren angiver et svar, som bliver lagret som "input4"
                                                                string input4 = Console.ReadLine();
                                                                switch (input4.ToLower())
                                                                {
                                                                    case "jobs":
                                                                        Console.WriteLine();
                                                                        Console.WriteLine("Det er rigtigt!");
                                                                        Console.WriteLine("Steve Jobs sidder stadig i Apple's bestyrelse, og er 8,3 milliarder dollers");
                                                                        Console.WriteLine("værd. Han er i øvrigt buddist.");
                                                                        Console.WriteLine(" - - - - - - - - - ");
                                                                        Console.WriteLine();
                                                                        Console.WriteLine(" O/ ");
                                                                        Console.WriteLine(" |-|   <--- Steve Jobs der holder en iPad! ");
                                                                        Console.WriteLine("_|_");
                                                                        Console.WriteLine();
                                                                        Console.WriteLine(" - - - - - - - - - ");
                                                                        break;
                                                                    //Hvis spilleres get (input) IKKE var "jobs", bliver denne kode kørt
                                                                    default:
                                                                        Console.WriteLine();
                                                                        Console.WriteLine("Det er forkert!");
                                                                        Console.WriteLine("Du starter nu helt forfra! Øv..");
                                                                        Console.WriteLine();
                                                                        Console.WriteLine("-----------------------");
                                                                        Console.WriteLine();
                                                                        goto Start;
                                                                        break;
                                                                }

                                                    break;
                                                //Hvis spilleres get (input) IKKE var "1976", bliver denne koe kørt
                                                default:
                                                    Console.WriteLine();
                                                    Console.WriteLine("Det er forkert!");
                                                    Console.WriteLine("Du starter nu helt forfra! Øv..");
                                                    Console.WriteLine();
                                                    Console.WriteLine("-----------------------");
                                                    Console.WriteLine();
                                                    goto Start;
                                                    break;
                                            }

                                    break;
                                //Hvis spilleres get (input) IKKE var "tim", bliver denne koe kørt
                                default:
                                    Console.WriteLine();
                                    Console.WriteLine("Det er forkert!");
                                    Console.WriteLine("Du starter nu helt forfra! Øv..");
                                    Console.WriteLine();
                                    Console.WriteLine("-----------------------");
                                    Console.WriteLine();
                                    goto Start;
                                    break;
                            }
                    break;
                //Hvis spilleres get (input) IKKE var "ipod", bliver denne koe kørt
                default:
                    Console.WriteLine();
                    Console.WriteLine("Det er forkert!");
                    Console.WriteLine("Du starter nu helt forfra! Øv..");
                    Console.WriteLine();
                    Console.WriteLine("-----------------------");
                    Console.WriteLine();
                    goto Start;
                    break;
            }
            StartIgen:
            Console.WriteLine("Vil du starte quizen igen? - Ja / Nej");
            Console.WriteLine();
            string startIgen = Console.ReadLine();
            switch (startIgen.ToLower())
            {
                case "ja":
                    goto Start;
                    break;
                case "nej":
                    Console.WriteLine();
                    Console.WriteLine();
                    Console.WriteLine(" O/ ");
                    Console.WriteLine(" |-|   <--- Steve Jobs siger farvel!");
                    Console.WriteLine("_|_");
                    Console.WriteLine();
                    Console.WriteLine("Tryk 'Enter' for at afslutte..");
                    break;
                //Hvis spilleres get (input) IKKE var enten "ja" eller "nej", bliver denne kode kørt
                default:
                    Console.WriteLine();
                    Console.WriteLine("Det var ikke en korrekt indtastning!");
                    Console.WriteLine("Svar: Ja eller Nej");
                    Console.WriteLine();
                    goto StartIgen;
                    break;
            }
            Console.ReadKey();
        }
    }
}

推荐答案

如果将所有问题都放在集合中,则可以随机访问它们.

If you placed all of the questions in a collection you could then access them randomly.

Class Question
{
   public string Text{get; set;}
   public string Answer{ get; set;}
}

List<Question> questions;

Random rnd = new Random();
Question q = questions[rnd.Next()];


猜测的数量只是在给出正确答案之前计算输入数量的问题.


The number of guess is just a matter of counting the number of inputs before the correct answer is given


发布大量不相关代码的规则编号:<不要这样做. br/>
在这种情况下,它强调了一个事实,您几乎没有任何经验,并使用了您本不应该使用的代码元素.

现在,重新开始.删除所有goto语句,然后忘了您曾经听说过goto存在.至少两年不使用它,届时您将了解何时可以使用它.

我(一个人)不会尝试弄清楚您的代码实际上在做什么,更不用说如何做了,直到您用更合适的控制结构代替了goto,这些控制结构不会使您的程序像一盘意大利面.
Rule number one of posting large amounts of irrelevant code: Don''t do it.

In this case, it highlights the fact that you have almost no experience of any of this and are using code elements that you really shouldn''t.

Now, start again. Delete all the goto statements, and forget you ever learned that goto existed. Do not use it for at least two years, by which time you will understand when it ok to use it.

I (for one) am not going to try and work out what your code is actualy doing, much less how, until you have replaced goto with more appropriate control structures that don''t make your program resemble a plate of spaghetti.


这篇关于随机问题和猜测的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆