Jogo "Quem quer ser Milionario em VB

Net_Holer

Power Member
Boas. Tive a dar uma vista de olhos nesta parte do fórum mas não encontrei o que preciso.

Tenho de criar um jogo em VB 2005 para a escola... acontece é que não tenho muitos conhecimentos de VB pois demos muito poucas aulas.

O jogo é ao estilo do quem quer ser milionário por exemplo... ou seja, é um jogo tipo quiz... o objetivo é acertar nas 20 perguntas (cada uma com 4 opcoes) para chegar ao fim. As perguntas devem também aparecer por ordem aleatória e nunca repetidas.

Alguém me pode ajudar com isto? Um tutorialzito disto (do jogo, não de VB) também era óptimo, encontrei um mas é muito básico não é bem o que eu quero.

Obrigado desde já ;)
 
Primeiro, vais ter de arranjar uma forma de criar as perguntas para o teu programa.
Por exemplo, podes utilizar um ficheiro em que cada linha contém a pergunta e 4 possíveis respostas:
Código:
Pergunta1_respostaA_respostaB_respostaC_respostaD
Pergunta2_respostaA_respostaB_respostaC_respostaD
...
E o conteúdo de cada linha terá depois de ser lido e interpretado pelo programa.

Também podes meter as perguntas directamente no teu programa, mas acho que fica mais feio.
Utilizando um array de strings de 2 dimensões (1ª = nº da pergunta; 2ª = pergunta + respostas), ficaria algo assim:
Código:
Dim perguntas(19, 4) As String = New String() { _
{"pergunta1", "respostaA", "respostaB", "respostaC", "respostaD"} _
{"pergunta2", "respostaA", "respostaB", "respostaC", "respostaD"} _
...
}
Assim até fica mais fácil porque não tens o trabalho de interpretar o conteúdo do ficheiro. Fica logo tudo pronto para ser usado.
Código:
perguntas(9, 0) 'devolve a pergunta 10
perguntas(9, 1) 'devolve a resposta A da pergunta 10
perguntas(9, 2) 'devolve a resposta B da pergunta 10
perguntas(9, 3) 'devolve a resposta C da pergunta 10
perguntas(9, 4) 'devolve a resposta D da pergunta 10
Ou então, se quiseres que fique mais bonito, podes criar um tipo chamado "Pergunta":
Código:
Structure Pergunta
   Dim Texto As String
   Dim Respostas() As String
   Sub Inicializar()
      ReDim Respostas(3)
   End Sub
End Structure
E, para criar as perguntas:
Código:
Dim Perguntas(19) As Pergunta
For i As Integer = 0 to 19
  Perguntas(i).Inicializar
Next

With Perguntas(0)
  .Texto = "pergunta1"
  .Respostas(0) = "respostaA"
  .Respostas(1) = "respostaB"
  .Respostas(2) = "respostaC"
  .Respostas(3) = "respostaD"
End With
With Perguntas(1)
  .Texto = "pergunta2"
  .Respostas(0) = "respostaA"
  .Respostas(1) = "respostaB"
  .Respostas(2) = "respostaC"
  .Respostas(3) = "respostaD"
End With
...
Quanto ao resto... vai tentando fazer e posta aqui dúvidas concretas. ;)
 
Última edição:
Tens que pôr o código dentro de alguma subrotina...
Por exemplo,
Código:
Sub CriarPerguntas()
  'coloca o código aqui
End Sub
Depois, para executar esse código, basta chamar esta subrotina (CriarPerguntas).

Já a Structure, tem que ser posta fora das subrotinas (foi o que fizeste). É criada logo quando executas o programa, tal como acontece com as variáveis globais.
 
Back
Topo