Game Excel – Quiz Olímpico

25 07 2008

O Quiz é um aplicativo desenvolvido em Excel 2007 e requer um pouco de conhecimentos de VBA.

Vamos explicar passo a passo, como construimos este jogo de perguntas e respostas.

LAYOUT

O layout foi construído com os recursos de formas do Excel (localizados no Menu Inserir). Existem dezenas de formas que podem ser usadas das mais variadas maneiras. Para o layout, utilizamos apenas a forma “retângulo”, em diversos tamanhos.

Até mesmo os botões com os números e o Iniciar são retangulos.

A aparência dos retângulos foi melhorada com a barra de Ferramentas de desenho, com a qual aplicamos os efeitos de forma em 3D. Este tipo de formatação em 3D é uma das mais fantásticas novidades da versão 2007. Ele proporciona aos objetos uma qualidade visual incrivel e profissional.

A formatação em 3D, é muito simples de ser utilizada. Basta clicar com o botão direito sobre a forma e escolhe a opção de “Formatar forma“. Uma segunda opção é clicar em “Efeitos de forma”, no Menu “Ferramentas de desenho“. Este menu aparece sempre que clicar sobre o retângulo.

VALORES DOS RETANGULOS

Depois de Inseridos os retângulos e formatado o layout, chegou a hora de dar valor a eles.

Existem duas maneiras:

  • Em alguns casos, digitamos diretamente no retângulo. Para isso clique sobre ele e digite o que quiser.
  • Em outros casos, criamos um link entre o retângulo e uma celula na planilha. Sempre que o valor da celula for alterado, o valor do retangulo também será mudará.

No segundo caso, os valores que linkamos estão ocultos na planilha e foram inseridas nos retângulos da seguinte forma:

1° – Clicamos sobre o retângulo;

2° – Clicamos na barra de Formulas e digitamos o sinal de igual (=).

3° – Clicamos na célula que contém o valor que queríamos inserir no retângulo e pronto.

Quando o valor for alterado na célula ele será alterado também no retângulo.

Depois disso, o layout estava pronto mas ainda faltava muita coisa.

  1. Selecionar aleatóriamente uma questão.
  2. Fazer com que o aplicativo comparasse o valor escolhido com o valor certo e informasse se o jogador acertou.
  3. Contar a quantidade de jogadas e de acertos.
  4. Após uma jogada, escolher uma nova pergunta e reiniciar o jogo.
  5. Informar, após 7 jogadas, que o jogo acabou e a medalha que o jogador ganhou.

Para isso, precisamos recorrer ao VBA e construimos algumas macros.

MACROS

Ao clicar nos números cada qual executa uma macro diferente, porém com a mesma finalidade: Comparar o resposta com a opção escolhida.

Seguem as macros comentadas (em vermelho):

BOTÕES COM AS RESPOSTAS

___________________________________________________________________________________________________________

Sub UM() Determina a ação do botão 1

Dim opcaoum As Variant Declaração da variável da opção escolhida

opcaoum = Range(“K7″).Value Determina o valor desta variável (opção escolhida) será igual ao valor da célula K7

resposta = Range(“K6″).Value Determina o valor desta variável (resposta) será igual ao valor da célula K6

If Range(“K12″).Value < 7 Then
Determina o limite do jogadas (7 jogadas)

If opcaoum = resposta Then Se a reposta for igual a opção um ele apresentara a mensagem abaixo

MsgBox “Parabéns , você acertou” & Chr(13) & Chr(13) & “Vamos para uma nova pergunta.”, vbInformation + vbOKOnly, “That’s ok!”

Call Inicio Depois de apresentar a mensagem ele executará a macro inicio

Range(“K11″).Value = Range(“K11″).Value + 1 Conta a quantidade de acertos até o momento

Else

MsgBox “Esta pergunta você não acertou!” & Chr(13) & “A resposta correta é ” & resposta & “.” & Chr(13) & Chr(13) & “Vamos para uma nova pergunta.”, vbInformation + vbOKOnly, “Sorry!”

Call Inicio Depois de apresentar a mensagem ele executará a macro inicio

End If

Range(“K12″).Value = Range(“K12″).Value + 1 Conta a quantidade de jogadas até o momento

Call Final Depois de apresentar a mensagem ele executará a macro inicio

End If

End Sub

Esta macro é a mesma dos outros botões mudando apenas variável da opção.

___________________________________________________________________________________________________

SELEÇÃO ALEATÓRIA DAS PERGUNTAS

___________________________________________________________________________________________________

Sub Inicio() Abre o módulo

Dim pergunta As Integer Declaração da variável da pergunta escolhida

Sheets(“teste”).Select Certifica-se de executar a macro na planilha teste

Randomize

pergunta = Int((Range(“Y2″).Value – Range(“Y5″).Value + 1) * Rnd + (Range(“Y5″).Value)) determina o valor da variável pergunta

Range(“K4″).Value = pergunta Atribui a célula K4 o valor da variável pergunta

End Sub Fecha o módulo

___________________________________________________________________________________________________

FINALIZA O JOGO

___________________________________________________________________________________________________

Sub Final() Abre o módulo

If Range(“K12″).Value > 6 Then Determina o momento da execução da macro (na 7° jogada)

MsgBox ” O jogo acabou.” & Chr(13) & Chr(13) & ” Você acertou ” & Range(“k11″).Value & ” acertos” & Chr(13) & Chr(13) & “Você ganhou medalha de ” & Range(“j14″).Value & ” .” & Chr(13) & Chr(13) & “Vamos iniciar um novo jogo.”, vbInformation + vbOKOnly, “Game Over”

Call Iniciar_jogo Depois de apresentar a mensagem ele executará a macro inicio

End If

End Sub

IMPORTANTE: para adicionar uma macro ao retângulo, clicamos com o botão direito sobre a forma e selecionamos a opção ATRIBUIR MACRO. Esta opção deve só por executada após a criação das macros que acabamos de ver.

Foi desta maneira que criamos o botão INICIAR e as opções do jogo: 1, 2 e 3.

Abraços,

Osmar Brandão.


Ações

Informações

Uma resposta

30 10 2008
Alexandra

Nossa muito bom mesmo….
Achei super legal…

Deixe um comentário