Decidimos criar uma classe GerenciadorAR, responsável pelas tarefas relacionadas à realidade aumentada: inicialização, controle das tags, atualização por frame (talvez temporariamente), etc.
Criaremos também a classe MapaOpções, que lida com as regiões da tela durante a interação com o usuário.
Também discutimos a implementação da feature do programa de que certas decisões têm consequências a longo prazo, isto é, a "memória" do livro.
Nossa primeira idéia foi de que o programa guarde certas informações-chave para que, em certo momento da história, possa decidir se uma decisão desencadeia essa ou aquela reação.
(Exemplo: o que acontece se a Bela Adormecida vai para o castelo? Depende se ela casou com o príncipe, brigou com ele ou eles nem se conhecem)
Assim, poderíamos term uma tabela de hashing (vetor associativo?) em que as chaves são "perguntas" sobre a situação atual e os valores são as respostas.
Exemplo:
...
situacao["marido chapeuzinho"] = "Joao"
...
Com essa solução, precisamos que alguém decida, a cada decisão do usuário, qual das possíveis consequências será desencadeada, isto é, qual página será carregada.
Sugerimos, então, a criação da classe GerenciadorDeRumo.
A solução é um pouco mais difícil do que parece porque precisamos indicar essas informações de algum modo nos arquivos XML que descrevem as páginas e opções (que ainda não criamos).
O XML de cada opção deve indicar as páginas "candidatas" a serem a próxima e seus requisitos.
(Se a Branca de Neve fez amizade com a avó da Chapeuzinho em algum momento, esta opção nos leva à página 120).
Nenhum comentário:
Postar um comentário