Flash AS2 07: Feedback

1. O conceito de feedback

Bem, até agora interagimos com os aplicativos de modo a alterar propriedades de seus objetos e controlar seu comportamento.

Usamos variáveis para guardar valores: nomes, cidades, números, as telas que percorremos, etc.

Agora vamos entrar num novo território: o do feedback. A palavra é inglesa e significa literalmente retro-alimentação. Na prática, o conceito de feedback se aplica sempre que você precisa de um retorno, de alguma informação para prosseguir.

Um exemplo?

Vamos imaginar um jogo em que alguém pensa num número de 1 a 100. Você tem que adivinhar qual número a pessoa pensou. Bem, você pode chutar, digamos, 47. Se a pessoa só pode te responder “acertou” ou “errou”, este jogo não terá muita graça, e demorará muito para terminar…

Mas se a pessoa puder te dizer “foi pouco”, aí temos um jogo um pouco melhor, pois você excluirá todos os números menores que 47, e isso já ajuda bastante.

Bem, você teve uma ajuda da pessoa. A esta ajuda damos o nome de feedback, pois, apesar de ela não estar te entregando o ouro (dando o resultado), ela está apontando uma direnção, te dando uma dica.

Vamos aplicar este conceito?

2. um número de 0 a 100

Bem, vamos ser lógicos: se simplesmente definíssemos o número secreto (igual a 47, por exemplo) o usuário só iria poder jogar uma vez. Logo, temos que fazer o Flash sorteá-lo a cada vez que se quiser jogar.

O sorteio do numero secreto deve ser a primeira providência do jogador. Assim, sugiro que se faça o sorteio no frame 1 e o jogo em si aconteça no frame 2, quando o número já tiver sido sorteado.

3. O código

A função matemática que usaremos é Math.random(). Esta função sorteia um número entre 0 e 1. Como queremos um número de 0 a 100, vamos multiplicar o resultado por 100. Assim temos Math.random()*100. Mas ainda falta um detalhe: se fizermos assim, teremos números do tipo 47,4598234576, e não simplesmente 47. Usaremos então uma função que separa a parte interira de um número: a função int().

Assim, o código do frame 1 fica:

numero = int(Math.random()*100);

No frame 2 deve existir uma interface mais ou menos como a que mostro abaixo.

Content on this page requires a newer version of Adobe Flash Player.

Get Adobe Flash player


Agora o resto é com você.

Ok, interface pronta.

Ao clicar no botão, o código deve avaliar se o número digitado é maior ou menor que o número sorteado. Conforme a avaliação, deve botar o número digitado em uma caixa de texto ou noutra.

Tente fazer o código sozinho, mas, se quiser, pode baixar o FLA aqui.

4. A segunda versão

Uma possibilidade de expansão deste jogo é contabilizar em quantas tentativas o jogador consegue acertar o número sorteado. Ou mesmo mudar a mensagem dada a cada tentativa, incentivando (ou não) o jogador.

Se quiser outro exemplo do uso de uma variável aleatória, baixe o .FLA clicando aqui.

5. Video

Social media & sharing icons powered by UltimatelySocial