"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