Jump to content
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Sign in to follow this  
Th3Alchemist

Quiz

Recommended Posts

Th3Alchemist

Queria fazer um jogo tipo 'Quem quer ser milionário?' em que tenho as perguntas com as referidas respostas numa base de dados... mas o que não sei fazer é empilhar aleatoriamente as respostas e reconhecer a correcta

Exemplo:

DB:

Pergunta: Primeiro homem na lua?

Resposta 1 (Correcta): Neil Armstrong

Resposta 2: Buzz Aldrin

Resposta 3: Michael Collins

Resposta 4: Jim Lovell

E tem que aparecer do género:

Primeiro homem na lua?

a) Michael Collins

b) Buzz Aldrin

c) Neil Armstrong

d) Jim Lovell

Não sei a parte de embaralhar a escolha múltipla...

Share this post


Link to post
Share on other sites
Gam3

Boas,Duvidas:

1º tas a fazer em forms ou console ?

2º Normalmente podes usar if() numa maneira simples, ou mesmo o switch case: ;

3ºEmbaralhar ??? mas pelo que percebi do que querias fazer podes usar o random   

Espero ter ajudado e depois diz se era isso ....


"errar é humano, persistir no erro é bug!?"----------------------------------------------------------------"!Errar é humano, colocar a culpa no computador é mais humano ainda."----------------------------------------------------------------

Share this post


Link to post
Share on other sites
Th3Alchemist

estou a fazer em console...

mas na parte de embaralhar, tenho um problema com o Random que gera reptições... como posso evitar isso?

           string[] respostas = new string[4];

           Console.WriteLine("Primeiro homem na lua?");
           respostas[0] = "Neil Armstrong";
           respostas[1] = "Buzz Aldrin";
           respostas[2] = "Michael Collins";
           respostas[3] = "Jim Lovell";

           int num = 0;
           Random rnd = new Random();

           Console.WriteLine();
           num = rnd.Next(0, 3);
           Console.WriteLine("A) - {0}", respostas[num]);
           num = rnd.Next(0, 3);
           Console.WriteLine("B) - {0}", respostas[num]);
           num = rnd.Next(0, 3);
           Console.WriteLine("C) - {0}", respostas[num]);
           num = rnd.Next(0, 3);
           Console.WriteLine("D) - {0}", respostas[num]);

Share this post


Link to post
Share on other sites
Gam3
num = rnd.Next(0, 3);

Console.WriteLine("A) - {0}", respostas[num]);

num = rnd.Next(0, 3);

Console.WriteLine("B) - {0}", respostas[num]);

num = rnd.Next(0, 3);

Console.WriteLine("C) - {0}", respostas[num]);

num = rnd.Next(0, 3);

Console.WriteLine("D) - {0}", respostas[num]);

Acho que é isto que pretendes .... 😲 de uma maneira simples xD

  string[] respostas = new string[4];
           //array para armazenar o rnd comesa a -1 devido ao numero 0;
           int[]NumAleatorios = new int[]{-1,-1,-1,-1};
           int num=0;
           Console.WriteLine("Primeiro homem na lua?");
           respostas[0] = "Neil Armstrong";
           respostas[1] = "Buzz Aldrin";
           respostas[2] = "Michael Collins";
           respostas[3] = "Jim Lovell";
           Random rnd = new Random();
           for (int i = 0; i < 4; i++)
		 {
             Ciclo: // caso esteja usado ira começar novamente neste ponto
		    num = rnd.Next(0,4);
               // Não deixa que introduza 2x o mesmo numero
               if (num != NumAleatorios[0] && num != NumAleatorios[1]&&    num != NumAleatorios[2] && num != NumAleatorios[3])
            {
	            NumAleatorios[i] = num;
            }
               else
           	{
                   //retrocede o programa ate ao Ciclo sem alterar o i;
                   goto Ciclo;
           	}
		 }
               Console.WriteLine();
               Console.WriteLine("A) - {0}", respostas[ NumAleatorios[0]]);
               Console.WriteLine("B) - {0}", respostas[ NumAleatorios[1]]);
               Console.WriteLine("C) - {0}", respostas[ NumAleatorios[2]]);
               Console.WriteLine("D) - {0}", respostas[ NumAleatorios[3]]);
               Console.Read();


"errar é humano, persistir no erro é bug!?"----------------------------------------------------------------"!Errar é humano, colocar a culpa no computador é mais humano ainda."----------------------------------------------------------------

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.