[TUTO] Quiz com títulos !!

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[TUTO] Quiz com títulos !!

Mensagem por ChicoGamer em Seg 07 Jul 2014, 15:09

Título:[TUTO] Quiz com títulos !
Versão do GM: Game Maker 8.0/8.1/Studio.
Dificuldade: Iniciante
Tags: #quiz, #jogodeperguntas, #perguntaserespostas, #tutorial, #questionário.

Descrição:

Aprenda a fazer um quiz,no qual as respostas são selecionadas pelo mouse.Inclui contador de tempo,contador de pontos,contador de acertos e um sistema de título de acordo com a pontuação.A engine a ser utilizada tem perguntas e respostas utilizadas em um trabalho escolar sobre a Espanha.



O bom e velho controler

Crie um objeto,chame-o de controler.O objeto servirá para definir os valores iniciais das globais,tal como verifica-las e desenha-las .

Coloque no create:

Código:

global.resposta1=false //Define que a alternativa 1 é falsa
global.resposta2=false //Define que a alternativa 2 é falsa
global.resposta3=false //Define que a alternativa 3 é falsa

global.pergunta=0 //Define o número da ordem das perguntas
global.perguntas="1) Qual é a capital da Espanha ?" //Define a pergunta
global.respostas=0 //Define o número da ordem das respostas
resp1=" A) Madrid" //Define a alternativa 1
resp2=" B) Lisboa" //Define a alternativa 2
resp3=" C) Barcelona" //Define a alternativa 3

global.espanholice="Veio dos Estados Unidos"//Define o título a ser dado
global.acertos=0 //Define o número de acertos
global.pontos=0 //Define o número de pontos
global.tempo=310 //Define o cronometro

Coloque no step:

Código:

global.tempo-=1 //Tempo diminui o valor de -1

if global.tempo<=1{
room_goto_next() } //Verifica o tempo,se for menor que 1 vai pra próxima room,a room da derrota

global.crono=global.tempo div 30 //Deixa o tempo representado por número inteiro



//Verificando Perguntas

if global.pergunta=0{ //Se a pergunta de acordo com seu número de ordem
global.resposta1=true    //Define que a alternativa 1 será a verdadeira
global.resposta2=false   // Define que a alternativa 2 será falsa
global.resposta3=false }  // Define que a alternativa 3 será falsa

//Segue-se esse padrão abaixo

if global.pergunta=1{
global.perguntas="2) Qual desses jogadores não é espanhol ?"
global.resposta1=false
global.resposta2=true
global.resposta3=false }



if global.pergunta=2{
global.perguntas="3) Em qual continente está situada a Espanha ?"
global.resposta1=false
global.resposta2=false
global.resposta3=true }



if global.pergunta=3{
global.perguntas="4) De acordo com os Falsos amigos, o que quer dizer 'Lembrar' # em espanhol ?"
global.resposta1=false
global.resposta2=true
global.reposta3=false
}


if global.pergunta=4{
global.perguntas="5) Qual o nome da região separatista da Espanhã ?"
global.resposta1=false
global.resposta2=true
global.reposta3=false}


if global.pergunta=5{
global.perguntas="6) Qual dessas obras é de Picasso?"
global.resposta1=true
global.resposta2=false
global.resposta3=false }

if global.pergunta=6{
global.perguntas="7) Qual desses times não é da Espanha?"
global.resposta1=false
global.resposta2=true
global.resposta3=false }

if global.pergunta=7{
global.perguntas="8) Qual desses chefes de cozinha é espanhol?"
global.resposta1=true
global.resposta2=false
global.resposta3=false }

if global.pergunta=8{
global.perguntas="9) De acordo com os Falsos Amigos,o que significa 'Asignatura'?"
global.resposta1=true
global.resposta2=false
global.resposta3=false }

if global.pergunta=9{
global.perguntas="10) Entre as potências européias,economicamente,# qual a posição da Espanha?"
global.resposta1=true
global.resposta2=false
global.resposta3=false }





//Verificando Respostas

if global.respostas=1{  //Se a resposta for de acordo com seu número de ordem
resp1="A) Iniesta" //Define a alternativa 1
resp2="B) Carlito Tevez" //Define a alternativa 2
resp3="C) Xavi" } //Define a alternativa 3


//Segue-se esse padrão abaixo


if global.respostas=2{
resp1="A) Oceania"
resp2="B) Eurásia"
resp3="C) Europa" }

if global.respostas=3{
resp1="A) Despir"
resp2="B) Acordar"
resp3="C) Usar" }

if global.respostas=4{
resp1="A) Amesterdã"
resp2="B) Catalunha"
resp3="C) Faixa de Gaza" }

if global.respostas=5{
resp1="A) A Pomba de Paz"
resp2="B) La prese"
resp3="C) El dourado" }

if global.respostas=6{
resp1="A) Atlético de Bilbao"
resp2="B) Juventus"
resp3="C) Sporting" }

if global.respostas=7{
resp1="A) Dirceu Félix"
resp2="B) Amado Hernandéz"
resp3="C) Francisco Corte" }

if global.respostas=8{
resp1="A) Disciplina"
resp2="B) Assinatura"
resp3="C) Divertir-se de forma infantil,zombar" }

if global.respostas=9{
resp1="A) Quinto"
resp2="B) Quarto"
resp3="C) Sexto" }




//Nível de espanholice


if global.pontos=25{                    
global.espanholice="Quase latino"}  //Define,de acordo com os pontos seu título

if global.pontos=35{
global.espanholice="Um verdadeiro latino" }  //Define,de acordo com os pontos seu título

if global.pontos=40{
global.espanholice="Viajante" }  //Define,de acordo com os pontos seu título

if global.pontos=45{
global.espanholice="Hola que tal" }  //Define,de acordo com os pontos seu título

if global.pontos=50{
global.espanholice="Espanhol consumado" }  //Define,de acordo com os pontos seu título


Coloque no draw:


Código:

//Desenha as variavéis
draw_set_font(font1) //Define a fonte do texto
draw_set_colour(c_white)//Define a cor do texto
draw_text(50,10,string(global.perguntas)) //Desenha as perguntas
draw_set_colour(c_black) //Seleciona a cor do texto
draw_text(32,148,string(resp1)) //Desenha a alternativa 1
draw_text(32,244,string(resp2)) //Desenha a alternativa 2
draw_text(32,340,string(resp3)) //Desenha a alternativa 3
draw_set_colour(c_red) //Define a cor do texto
draw_text(500,70,"Pontos: "+string(global.pontos)) //Desenha os pontos
draw_text(80,70,"Tempo: "+string(global.crono))  //Desenha o cronometro

Criando as alternativas

Crie uma sprite que será usada como mask para as alternativas,no meu caso,como enfeite,decidi coloca-la como "listra" na room, e usei o tamanho (640,90),coloque como quiser desde que respeite o "espaço da alternativa".Lembre-se das coordenadas que desenhou as alternativas:

Código:
draw_text(32,148,string(resp1)) //Desenha a alternativa 1
draw_text(32,244,string(resp2)) //Desenha a alternativa 2
draw_text(32,340,string(resp3)) //Desenha a alternativa 3

Crie um objeto chamado obj_resposta1,coloque de sprite a mask que você criou.
No evento left_pressed,coloque:

Código:
global.pergunta+=1 //Adiciona 1 na ordem das perguntas
global.respostas+=1 //Adiciona 1 na ordem das respostas
if global.resposta1=true{ //Checa se clicou-se na resposta certa
global.tempo+=60 //Aumenta-se o tempo
global.pontos+=5 //Aumenta-se os pontos
global.acertos+=1} //Aumenta-se os acertos

else //Se a resposta não estiver certa

{room_goto(room3)} //Vai pra room da derrota

Como são 3 alternativas,crie as outras 2 !! Basta seguir o exemplo acima e ir de acordo com as variáveis.



É basicamente isso,este é a parte estrutural do meu trabalho de espanhol (Quem diria,jogos me ajudando na escola hehe !!)o resto é com você,espero que tenham gostado,avaliem e digam se estiver algo de errado ou a ser melhorado no tutorial ou na engine.

Até logo !!!

ChicoGamer

Número de Mensagens : 23
Data de inscrição : 07/07/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [TUTO] Quiz com títulos !!

Mensagem por antchita em Seg 07 Jul 2014, 21:03

amigo, xtas de parabens! vim parar aqui no
gmbr para aprender a fazer um quiz... ate ja usei show_message_ext por nao ter encontrado tutorial como o teu.... e a ai mts querendo isso... mas com o conhecimento que aprendi aq, consegui fazer um bom script para jogos de perguntas e resposta, mas por nc ter net no pc, ainda nao postei o tutorial, bem diferente do teu e vou dar-lhe algumas sugestoes:

//Verificando Perguntas
if global.pergunta= 0 { //Se a
pergunta de acordo com seu número
de ordem
global.resposta1= true //Define
que a alternativa 1 será a
verdadeira
global.resposta2= false // Define
que a alternativa 2 será falsa
global.resposta3= false } //
Define que a alternativa 3 será
falsa
//Segue-se esse padrão abaixo
if global.pergunta= 1 {
global.perguntas= "2) Qual desses
jogadores não é espanhol ?"
global.resposta1= false
global.resposta2= true
global.resposta3= false }
nao precisas disso e complicaria na hora de fazer as opçao. tente fazer assim:
if global.pergunta= 1 { global.perguntas="qual desses jogadores nao é espanhol"
global.resposta=1 // quando a resposta certa é A. 2 quando o certo é B e...
resp1= "A) Iniesta" //Define a
alternativa 1
resp2= "B) Carlito Tevez" //Define
a alternativa 2
resp3= "C) Xavi" } pronto amigo... nao so bom nos desporto por isso nao sei qual é a resposta certa!
no objecto para selecionar a resposta mantem o codigo mas muda so global.resposta1=true por global.resposta=1, no obj_resposta1,
global.resposta=2 no obj_resposta2 e...
foi apenas uma sugestao que melhorarua muito o teu tuto... outras dicas bem simples para embaralhar as opçoes e usar usar apenas um objecto de seleçao é so perguntar...
mas si qser manter do jeito q xta, ja vas ajudar muitas pessoas.... +1

antchita

Ranking : Nota A
Número de Mensagens : 81
Idade : 25
Data de inscrição : 07/12/2012
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [TUTO] Quiz com títulos !!

Mensagem por ChicoGamer em Qua 09 Jul 2014, 16:43

Obrigado pelo comentário @antchita!!
Bem as mudanças que você propôs são opcionais e não mudam a essência da engine,preferi deixar do jeito que está pois por ser um tutorial para iniciantes tentei deixar do jeito mais assimilável e lúdico possível.

ChicoGamer

Número de Mensagens : 23
Data de inscrição : 07/07/2014
Reputação : 2
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [TUTO] Quiz com títulos !!

Mensagem por antchita em Qua 09 Jul 2014, 19:02

é mesmo opcional mas no caso do expliquei, tornaria a engine bem mas pratica e simples... exemplo: cadastrei 30 pergunta, depois tinha que ler cada uma para cadastrar os 30 conjuntos de opçoes de resposta para que global.perguntas conscida com global.respostas... era mas pratico editar a pergunta seguido com as opçao e diminuias a metade dos codigos na engine... mas valeu cara... deixa do jeito que xta, no final de semana posto um tuto completo.

antchita

Ranking : Nota A
Número de Mensagens : 81
Idade : 25
Data de inscrição : 07/12/2012
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [TUTO] Quiz com títulos !!

Mensagem por fredcobain em Qui 17 Jul 2014, 11:41

Parabéns, Chico.

Seu tuto está bem elaborado e foi aprovado.

Como ponto de melhoria sugiro apenas algum mecanismo das respostas surgirem em ordem aleatória para que não fique manjado sempre o mesmo gabarito.

Obrigado pela contribuição.

fredcobain

Ranking : Sem avaliações
Número de Mensagens : 691
Idade : 35
Data de inscrição : 14/04/2011
Reputação : 162
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [TUTO] Quiz com títulos !!

Mensagem por Conteúdo patrocinado Hoje à(s) 03:01


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum