No post anterior sobre a construção de um aplicativo de quizz (http://vemfazermatematicaegames.blogspot.com/2018/06/appinventor-2-construindo-o-quizz.html) fizemos a construção básica de um jogo com perguntas e respostas, porém sem um placar para contabilizar pontos de acertos e erros nas respostas. Faremos isso no post de hoje! Mategames v.2 aí vamos nós!
A primeira coisa que precisamos ter em mente é que as variáveis globais não funcionam de modo "global", ou seja, elas são globais somente na tela em que foram construídas. E isso gera um problema de como fazer uma comunicação de pontos das questões que estão em telas diferentes. A resposta é o uso do TinyDB, que resumidamente serve para armazenar dados coletados pelo aplicativo. Ele se encontra em Design > Armazenamento > TinyDB e ficará invisível na tela do aplicativo.
A primeira coisa que a programação deve ter é a criação da variável global com valor zero e um nome associado (placar no caso). Em seguida, usamos a programação ajuste variável global placar para um determinado valor (no exemplo abaixo foi usado resposta certa igual a 5 pontos e incorreta -1 ponto) conforme o caso. Tendo sido realizado esse calculo, resta apenas armazenar esse valor no TinyDB, com um rótulo padrão para todas as questões (no caso pontos) e dizer que está associado ao valor calculado na variável global. Confira o exemplo para entender o que está acontecendo:
Você deve ter notado que no botão da opção correta existe uma opção de ajuste de botão para desligar ele após ser apertado (ultima programação verde). Isso serve para que o usuário não fique clicando na resposta certa repetidas vezes e fique ganhando pontos que não deveria. Para as opções incorretas como perde pontos, fica liberado dessa opção.
Em todas as telas de perguntas será repetido esse padrão, apenas com um acréscimo da programação para chamar os valores armazenados no TinyDB (ou seja, todas as telas exceto a primeira) pois sempre que for calculado o valor da variável global da tela, ele precisa ser somado aos valores obtidos anteriormente em outras telas (perguntas). Confira no exemplo abaixo:
Depois de tudo isso, é hora de finalizar a versão do aplicativo quizz com placar usando a programação que faz o somatório final dos pontos e mostra na tela o resultado para o usuário. Basicamente apenas é necessário usar o mesmo comando de chamar TinyDB e pedir para escrever na tela o resultado final:
Com isso temos o aplicativo Mategames com placar finalizado. Você pode baixar ele em ai2.appinventor.mit.edu/?galleryId=6527696685367296 para poder fazer seus testes ou melhorar ele. Deixe nos comentários abaixo suas experiências. Até a próxima!