"Tempus fugit"

É isso mesmo, o tempo voa e nas aventuras interativas além de voar ele nada de braçadas e isso nos obriga a tomar algumas decisões importantes.


No Micro Aventuras exitem pelo menos 3 formas distintas de lidar com o tempo que decorre durante o jogo ou durante a leitura de um conto. Não estamos falando do tempo simbólico do enredo mas do tempo real.

Dessas 3 formas apenas 2 valem a pena ser abordados porque a primeira delas remonta aos primórdios do MA e não fornece ao autor um controle mais apurado do que acontece e principalmente quando acontece.

Dada a natureza de processamento dos scripts, ou seja eles são executados na medida que o leitor ou jogador clica em algum ponto, podemos dizer que o tempo no Micro Aventuras não é contínuo, mas salta em determinados intervalos, ainda que leitor ou jogador fique dias sem acessar a aventura ou conto.

Com isso podemos montar um "relógio" de leitura ou jogo usando para tanto 5 registradores, a saber 1 para os meses decorridos desde o começo da leitura ou jogo, 1 para os dias um para as horas, 1 para os minutos e 1 para adicionar os minutos transcorridos entre as ações.


Veja o exemplo a seguir de uma função que poderia chamar "ajustatempo" e que receberia, via registrador 25, a quantidade de minutos que se passaram entre uma ação e outra. Esta função (script) deve ser chamada com uma instrução "gosub script".


Nela é possível mapear qualquer acontecimento que precise existir num determinado mês, dia, hora ou minuto, bastando para isso inserir a devida programação no local mais adequado.

Outra forma de controlar o tempo entre ações é usar marcações especiais, na execução de certos scripts e depois calcular o tempo "real" decorrido entre essa marcação e um determinado script. Por exemplo marcar o início da leitura ou jogo e depois calcular quanto tempo o jogador ou leitor demorou para chegar até a página X ou até o local Y.


Quando a instrução "timenow=" é executada ela guarda o valor do dia/mes/ano e horas/minutos/segundos no registrador informado no parâmetro "reg". Com ela é possível marcar qualquer momento que um script é executado.


Uma vez marcado um determinado ponto, para saber quanto tempo decorreu até um outro momento, basta usar a instrução "qtotempo=" e informar qual é o registrador com a marca e uma série de 4 registradores que receberão as quantidades já calculadas de dias, horas, minutos e segundos.


Para saber a quantidade de dias decorridos da marca até o ponto desejado, basta usar a instrução "qtosdias=", informando o registrador com a marca e o registrador que receberá o valor inteiro em dias.


Para saber a quantidade de horas decorridas da marca até o ponto desejado, basta usar a instrução "qtashoras=", informando o registrador com a marca e o registrador que receberá o valor inteiro em horas.


Para saber a quantidade de minutos decorridos da marca até o ponto desejado, basta usar a instrução "qtosmins=", informando o registrador com a marca e o registrador que receberá o valor inteiro em minutos.


Para saber a quantidade de segundos decorridos da marca até o ponto desejado, basta usar a instrução "qtossegs=", informando o registrador com a marca e o registrador que receberá o valor inteiro em segundos.


Como fazer uma bomba relógio

Ok, entendi

Índice das páginas