Jump to content

Projecto final de ano - Quiz


carvalhoxd

Recommended Posts

Boas a todos

Estou agora no 12º no curso de informática e gestão, e como tal tenho de fazer um projecto de final de ano (ainda e um bocado cedo mas pronto lOl), estava a pensar em fazer um Quiz em c++.

O programa seria compostos com uma serie de perguntas guardadas em painéis e ao responder a pergunta certa esse painel ficaria invisível e o seguinte visível, por exemplo estava a pensar em ter umas 100 perguntas e o programa dar 50 perguntas aleatórias sem as repetir. Cada pergunta teria 4 respostas e estava a pensar em por umas 3 ajudas

A minha principal duvida e como que faço para o programa dar a perguntas aleatórias sem as repetir.

http://img190.imageshack.us/img190/619/projectop.png

(a imagem para jogar e tal só aparece no inicio)

Gostaria de saber o que acham do projecto e dêem as vossas ideias.  😉

Cumps e ate breve  😉

Link to comment
Share on other sites

A ideia é fixe.

Há um projecto semelhante de outro membro do fórum, q é o Quem quer ser milionário (Se bem me lembro vb .net).

Podes inspirar-te nalgumas ideias dele.

Quanto à pergunta aleatória podes fazer de várias maneiras. Se estiveres a usar bases de dados, podes ir buscar o valor aleatorio logo à base de dados.

Para o caso, penso q um ficheiro de texto chega e sobra para fazer de base de dados, nesse caso se tiveres um id numérico associado a cada pergunta, podes gerar um numero aleatorio tb do lado do c++.

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Link to comment
Share on other sites

O que acontecia se quisesses ter 1000 perguntas? Fazias 1000 painéis?

E se quisesses 10000000 perguntas?

Basta arranjares uma condição comum para todas as perguntas e podes utilizar sempre os mesmos objectos.

Por exemplo, se todas as perguntas tivessem em comum uma descrição para a pergunta e 4 respostas possíveis, conseguias fazer 100000000000000000000000000+inf perguntas apenas com 5 labels.

É uma questão de teres a informação das perguntas organizada, digamos por exemplo num ficheiro de texto não formatado.

A questão do aleatório sem repetição é tão simples como, por exemplo, retirares a pergunta que se acabou de responder de uma lista de onde as estás a sortear:

Carregas a informação das perguntas numa lista e sorteias a pergunta a partir dos itens dessa lista.

Quando se dá uma resposta, e depois de fazeres o que pretendes com a resposta, retiras a pergunta da lista. No próximo sorteio já não há hipótese de ela aparecer.

Uma sugestão de formato dos dados no ficheiro seria:

Pergunta;Resposta1;Resposta2;Resposta3;Resposta4;Nº_resposta_correcta

exemplo:

Qual a fórmula química da água?;Likido+;AGµȺ;H2O;ɯʘɭɦɅ;3

Sérgio Ribeiro


"Great coders aren't born. They're compiled and released"
"Expert coders do not need a keyboard. They just throw magnets at the RAM chips"

Link to comment
Share on other sites

Tb concordo q um painel é suficiente.

A ideia de retirar a pergunta da lista é boa.

Mas se for jogado por mais q um jogador, evita q os outros jogadores possam ter essa pergunta tb.

Se as perguntas tiverem id, é possivel evitar q essa pergunta saia apenas ao jogador q já a respondeu.

Isso agora depende de qual for o objectivo.

Matraquilhos para Android.

Gratuito na Play Store.

https://play.google.com/store/apps/details?id=pt.bca.matraquilhos

Link to comment
Share on other sites

xD obrigado pelas ideias se calhar fico pelos paineis nao sao muitas perguntas e para nao se repetirem tou a pensar numa funçao,

cada vez que se responde a correta abre a funçao que gera o ID e testa, um ciclo while que testa se ja saiu , cada vez que a pergunta saia e atribuido um '1' ao painel, se ainda nao foi jogada tem '0'

 
x = numero aleatorio
while(idperg[x] == 1 ) 
{
gera outro id
}

painel[x]->visible = true ;              

                

sera que funciona ?

Link to comment
Share on other sites

  • 3 weeks later...

😁

Bruno1234.

Tu entendeste errado, meu querido.

Não estou pedindo que façam o meu trabalho, e sim que compartilhem conhecimento. É uma questão de visão.

Preciso de um código em que possa me basear e estudar.

Como poderei aprender essa parte se não há material na internet.

Assim como eu, há muitos querendo saber, pois encontrei todos em DOS (sinal de que não sabem em Windows).

A proposta foi construir do início ao fim um quiz básico através deste fórum, com a finalidade de ser público.

Nada melhor de que um lugar de encontro de programadores!

Não podemos usar um fórum apenas para criticarmos, escrever mensagens sem rumo, etc.

Vamos evoluir juntos!

Abração.

Link to comment
Share on other sites

😁

Não deixem o C++ morrer!

Sabemos que há poucos programadores bons em relação a outras linguagens.

Por ser uma linguagem que demanda muito estudo e que não se encontra materiais completos (a não ser nos livros de destaque bem caros).

Ou por guardarmos nosso conhecimento para nós mesmos (e assim ficando sozinhos e perdendo espaço).

Link to comment
Share on other sites

  • 2 weeks later...

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
×
×
  • Create New...

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.