Ir para conteúdo
Fórum Script Brasil
  • 0

(Resolvido) Jogo educativo sobre frações


aspas

Pergunta

Boa noite a todos! :blush:

Sou iniciante em flash e estou com problemas relativamente a um jogo que estou a fazer.

Trata-se de um jogo sobre frações que estou a tentar desenvolver para os meus alunos.

É basicamente composto por botões onde cada botão corresponde a uma soma, diferença ou produto de frações. Se o resultado for uma fração que corresponda a um valor inferior a 1, então o jogador deve clicar em cima dessa fração e o botão muda de cor.

Vou colocar a imagem aqui para que seja mais fácil entender a dinâmica do jogo.

http://areaprojectoperoalenquer.googlepage...-full;init:.jpg

A questão é a seguinte:

Como faço para que quando o jogador acabe o jogo, caso os botões clicados sejam os correctos, salte para a última frame.

Já pensei num contador. Quando o jogador clica num botão de uma fração inferior a um, soma mais um e o total do contador seria o nº total de botões que deveriam ficar rosados. Mas não sei programar esse contador!

Esta foi uma ideia que tive, mas devem haver outras, se calhar até mais simples! O jogo em si é muito simples, não estou interessada em pontuação. Aqui só ganha quem acertar todas as frações.

Se alguém tiver uma solução para mim, agradecia que me ajudasse pois preciso de acabar o jogo esta semana...

Alguém me ajuda? :(

Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Olá aspas ^_^

Para mim basta uma pergunta

O jogo deve seguir uma ordem como na foto ou ele pode selecionar frações 'não necessariamente coladas' ou seja duas frações longe uma da outra ?

Pois são 2 modelos de jogo, um preso a uma ordem específica aonde você tem de ir acertando o caminho resolvendo as frações

Já o outro é como eu entendi você dizer, Temos várias frações e você vai cliquando aleatoriamente, nas frações cujo resultado da menor que 1;

A primeira opção é mais complicada, você fazer as verificações de caminho

Já a segunda é bem fácil;

Aguardo sua resposta

Abraços

Pooh

Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Pooh! :D

Costumava usar este jogo em papel e parecia menos complicado. :P

As fracções não seguem um caminho específico (podem até ter vários caminhos), estão espalhadas pela colmeia, daí que podem existir fracções distanciadas entre si, ou seja, a segunda opção apontada. Para não complicar muito decidi, como regra, que teriam de encontrar todas as frações inferiores a 1.

Para o botão mudar de cor e permanecer rosado, inseri um movie-clip com dois botões dentro (um amarelinho e outro rosado) que ao clicar vão chamando um ao outro. Penso que serão os botões dentro desse movie clip que devo programar (quando clicados, o amarelo soma e chama o rosado, o rosado por sua vez subtrai e chama o amarelado - caso o jogador se arrependa da jogada).

Mas como não estou muito por dentro das sintaxes do AS só consigo ficar pelo raciocínio.

Obrigada pela ajuda Pooh! ^_^

Link para o comentário
Compartilhar em outros sites

  • 0

Olá aspa ^_^

Bom fiz um protótipo com as seguintes características :)

Não é em colméia porém posso ajustar para que ele seja como tal;

Tudo é setado por um arquivo XML o que te deixa livre pra adicionar/modificar as frações

Também não fiz somente com frações XDD mas pode editar facilmente

Pode ser expandido para existirem "leveis" como fácil, médio, difícil etc...

Coloquei 1 botão Corrigir para lhe dizer se você acertou todos ou não;

no xml ele está divido em linhas e colunas, cada linha contendo X colunas ( no meu exemplo contem 3 linhas e 4 colunas cada)

o numero de colunas por linha não precisa ser igual, depende de como você quer :)

cada coluna de uma linha contem algumas propriedades como :

Problema => Aqui vai escrito o problema em forma que o flash interprete por exemplo raiz quadrada no flash é 'Math.sqrt(Number)' e não '√'

Texto => Aqui vai o problema na forma como ele deve ser mostrado

Resposta => Aqui a resposta em decimal do problema para o flash fazer a varredura

O xml também possui 2 propriedades gerais mas que podem e devem ser alteradas mais tarde:

num => O numero de respostas que devem existir (numero de frações aonde a resposta é menor que 1 por exemplo)

menorque => o valor que deve ser testado, no seu exemplo você utilizou '1' aqui você pode alterar ele pra mais ou pra menos, porem sendo 'menor que' posso fazer um teste para ele usar menor que, maior que, etc...

Fiz em AS3 sem muita frescura, e vou postar um link para você ver se é +/- isso do que você estava falando;

Boa segunda feira pra vocês :)

Abraços

Pooh

Protótipo: Prototipo Jogo Matematica

Obs: o arquivo XML pode ser editado em qualquer editor de texto como wordpad, bloco de notas etc...

'Acabei de perceber alguns bugs mas o prototipo era apenas apra passar a ideia :)'

Editado por Pooh
Link para o comentário
Compartilhar em outros sites

  • 0

Olá de novo Pooh! ^_^

Tentei abrir o .fla para ver o código, mas não consegui. Tenho o flash 8 e ainda baixei o flash cs3 para ver se conseguia abrir, mas nada! De qualquer forma nunca trabalhei com xml e como tenho que ter isto pronto até quinta-feira é melhor não me dispersar.

No meu jogo, ao todo são 61 resultados inferiores a 1 (vai o padrão que deve ser formado durante o jogo na imagem dentro do ficheiro abaixo).

Falta-me ajustar só os botões. Coloquei botôes diferentes para frações maiores ou iguais a 1, e para frações inferiores a 1. Preciso programá-los para somar 1 se a fracção for menor a 1 (e tornar a subtrair se o jogador se arrepender e voltar a clicar nesse botão) e subtrair 62 caso a fracção seja superior ou igual a 1 (e voltar a somá-los caso o jogador corrija a jogada). O jogador ganha quando o contador = 61. Como eu faço isto?

Para além dos botões surgiu-me outro problema. Quando se clica no jogo para voltar para a página inicial e depois se retorna ao jogo, a contagem decrescente do jogo passa a ficar duas vezes mais rápida. Como faço para resetar o relógio de cada vez que clico no botão jogar?

Vou colocar aqui o jogo que estou a fazer para se entender melhor o que estou a dizer. Não liguem à bagunça que está lá dentro!!! :P

Jogo de matemática

Boa semana e obrigada pela paciência Pooh! :)

Link para o comentário
Compartilhar em outros sites

  • 0

Olá novamente

Bom para concertar seu relógio é o seguinte, ele conta 3 vezes mais rapido pois o evento que faz passar 1 segundo, vosso intervalo não está sendo zerado;

Com o clearinterval, ele so foi posto quando o tempo acabar; para arrumar vamos ao botão voltar e adicionar la dentro do on release

clearInterval(setIt);
já sobre os botões, como é a verificação de vitoria ? assim q você clikar em todos os certos ele já diz q você venceu ? ou você tem q clikar num botão corrigir ? Porque dai é so seguir o seu rumo mesmo, os certos adiciona 1 e os errados subtrai um Certo:
on (Release) {
total++;
}
Errado:
on (Release) {
total--;
}
Se for com botão de corrigir é simples afinal:
if(total!=61){trace('ERRADO !');}else{trace('CERTO !')}
já se for assim q ele somar 62 pontos tem 2 formas dentro da lógica que você usou até agora, Uma é colokando dentro do intervalo de 1 segundo pra cada vez ele verificar o campo de texto contendo os valores, assim q chegar em 61 ele já da a mensagem de você ganhou, porque no intervalo ? porque se você colocar no enter frame,e ele fazer a verificação a cada ciclo de processamento, pode deixar seu jogo 'lento' e afinal um segundo de varredura é mais q suficiente :D; ficaria algo assim:
counter = function () {
    total--;
        
        if(total==61){
        gotoAndStop(5);
        }
    if (minutes == 0 & seconds == 1) {
        clearInterval(setIt);
        gotoAndPlay(4);
    }
};

Assim a cada um segundo ele verifica se você ganhou ou não :)

Aguardo seu progresso, asism que tiver mais tempo, lhe aconselho o uso do xml, depois posto o porque da utilização dele etc... se você requisitar

Abraços

Pooh

Link para o comentário
Compartilhar em outros sites

  • 0

Estou aqui de novo! :(

O relógio ficou OK!

Mas não consigo atinar com a pontuação de forma nenhuma. Não sei o que está a falhar!

Como o jogo tem que ficar pronto até quinta-feira, esta será a minha última tentativa.

No movieclip que está dentro de cada um dos tipos de botão (para fraçõs maiores e menores do que 1) tem dois botões: um amarelo e outro rosa que alternam consoante se clica. Nas fracções inferiores a 1, somei 1 qd se clica no amarelo e ele fica rosa, e subtraí um no rosa. Nas outras fracções, subtraí 1 ao amarelo e adicionei 1 ao rosa. No entanto, não está a dar certo! :unsure:

Decidi seguir pela sua dica e colocar um botão TERMINAR em vez de passar directamente para a frame vencedora quando acerta todas. Sendo assim, o jogo pode acabar de três formas diferentes. Perde se o tempo atingir o limite e passa automaticamente para a frame 4. Perde se clicar no botão terminar e tiver uma fração mal (se não atingir os 61!), e passa para a frame 6. E ganha se tiver todas as frações bem (atinge os 61!), passando para a frame 5.

Penso que a variável total deve ter que ser reiniciada em 0 algures. Mas como sou completamente leiga estou a ter muitas dificuldades para conseguir obter o resultado pretendido. Peço encarecidamente que experimente o código nos botões e caso consiga um resultado me explique como fazer. Será que não estou a colocá-lo nos sítios certos?

Fica aqui novamente o jogo

Jogo de matemática versão2(milhões)

E sim, vou querer aprender xml tb! Qt mais souber melhor... Mas mais daqui a dois meses, quando começarem as férias de Verão e eu estiver mais disponível! :P Aliás, estou a pensar seriamente fazer um curso de AS nessa altura. Ando a analisar possibilidades porque é algo que eu gostava mesmo de saber bem e não de me desenrascar, como tenho feito até agora!

Obrigada por tudo Pooh!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom aspas, pelo que vi está funcional agora ^^

Dê uma olhada na alteração que foi, criar uma variável para pontuação, modificar o total dela para 64 que foi o numero de frações que você estabeleceu

e usei a referencia _root;

No flash quando usamos uma variavel, ela pode estar em vários nívels do programa, ou seja, podemso ter varias variaveis com o mesmo nome m niveis diferentes; quando queremos alterar e camar a mesma variavel, precisamos especificar o caminho em que ela se encontra, o maisno caso como você colocou fora de movie clips, na Stage, chamamos esse lugar de ROOT e para acessá-lo escrevemos '_root.' a aprtir do ponto você acessar movieClips etc... basta dar uma olhadinha :)

qualquer duvida volte aqui que torno a lhe ajudar

Abraços

Pooh

Esqueci do arquivo hahaha !

edit: Jogo matematica Funcionando (Espero)

Editado por Pooh
Link para o comentário
Compartilhar em outros sites

  • 0

Pooh!!!

Brigadão!

Funcionou direitinho!

Já devia ter agradecido mais cedo, mas tenho tido muito trabalho e prazos apertados. Não foi por esquecimento...

Ainda tenho que aprender muito! Vou aproveitar as férias de Verão para aprender AS, queria tb aprender PHP e SQL para umas páginas web que quero construir, e XML agora tb consta da lista (que não pára de crescer!)... O.o

Obrigada por tudo! Não teria conseguido acabar o jogo se não fosse você!

Abraços e até breve!

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...