Nos limites da cidade


Toda vez que o jogador for encarar a solução, ou seja, buscar a quebra da maldição, ele será colocado na posição "cidade", que é na verdade uma estradinha de terra que o levará para dentro da floresta.

Como você está vendo, a imagem é num tom avermelhado e levemente desfocada. Isto é resultado dos efeitos no estágio de transformação em que o jogador se encontra. Além de só sentir esse impulso de ir na floresta à noite, o jogador não precisará de lanterna para enxergar.

O script que cria essa posição ficará mais ou menos como se segue abaixo:

//=== Cidade - entrada da mata ====================
  setmode= 4,900,420
  retscp= cidade
  cleartela
  cleartxt
  shape= cidade.png,100,0,700,220
  'Você está numa estradinha de terra, indo
  em direção à mata.'
  printx $,100,230,700,190
  shape= tic.gif,100,390,20,30
  shape= mata.gif,130,390,80,30,mata
  shape= lua.gif,220,390,55,30,lua

Vamos então analisar as "novidades" do script. A instrução retscp= indica que o script "cidade.scp" servirá de retorno para alguma função extra. Calma que antes de terminar esta página você entenderá isso.

O primeiro shape indicado é (obviamente) o shape da posição atual (cidade.png). Por que não usar a instrução telpos=?. Lembra que foi definida a largura 900px para a área gráfica do jogo? Então, no modo 4 telpos= forçará a imagem a preencher a tela toda e no esquema deste jogo, a ára utilizável do jogo tem apenas 700px, dando margens à direita e à esquerda de 100px cada. Chame de estilo visual, se quiser.

Há uma instrução shape= que marca o início da área inferior e serve para indicar que alí serão colocados os "comandos" para o jogador "andar" pelo jogo. Logo, o primeiro comando, definido pela imagem mata.gif e pelo desvio para o script mata.scp serve para, se clicado, mandar o jogador para dentro da mata. Veja como fica o resultado do script cidade.scp:

Agora vem a grande novidade: sabemos que a transformação irá ocorrer em alguns dias e que isto está ligado à lua cheia. Como saber quanto tempo falta? Simples, olhe para o céu noturno e veja como a lua está.

A instrução shape= lua.gif faz exatamente isto, mostrando ao jogador o quão perto ele está de virar lobisomem. Ela coloca na tela o comando lua e, ao ser clicado, desvia a execução para o script lua.scp. Veja como fica o script da lua:

//=== Situação atual da lua ======================
  setmode= 4,900,420
  cleartela
  cleartxt
  shape= lua0.png,100,0,700,220
  //montar o nome do arquivo que mostra a lua
  reg= 0,lua
  reg$ 0,#1
  reg$ 0,.png
  shape= #0,190,30,130,130
  shape= lua1.png,190,30,130,130
  'O dia fatídico está chegando...'
  printx $,100,230,700,190
  shape= tic.gif,100,390,20,30
  shape= ret.gif,130,390,140,30,xvlt

Note que neste script não tem a instrução retscp=. Considere a seguinte situação: em qualquer posição o jogador pode consultar a posição da lua e ao ser desviado para este script precisa retornar à mesma posição que estava. Como saber de qual posição ele veio?

Fácil,está vendo que na última instrução shape= o script que marca o desvio é a palavra "xvlt"? Esse script de fato não existe mas neste ponto o sistema pega o nome do script que foi colocado numa variável de retorno, pela instrução retscp=. Entendeu agora?

Outro detalhe importante é que a cada dia a lua está de um jeito e portanto teremos 10 arquivos pra mostrar as fases dela. Como sabemos, o registrador 1 contém o dia atual no qual o jogador está, então usamos um registrador temporário (o registrador zero, por exemplo) para montar o nome:

reg= 0,lua - coloca no reg 0 a primeira parte do nome do arquivo;

reg$ 0,#1 - concatena ($) o conteúdo (#) do registrador 1;

reg$ 0,.png - concatena ($) a extensão do arquivo gráfico;

shape= #0,190,30,130,130 - mostra na tela o arquivo (#0) cujo nome está no registrador zero.

Claro que dizer a mesma coisa nos 10 dias das fases é meio monótono. Pior ainda é repetir a frase toda vez que o jogador olhar para a lua. O Ideal portanto seria "variar" o que é dito e isso fica como exercício do "dia".

O resultado do script lua.scp pode ser visto aqui:

Note o comando retornar como única opção neste momento. Agora, só falta liberar mais algumas imagens para você continuar daqui:

Mesmo esquema do anteior - basta clicar em cada uma delas, com o botão direito do mouse, e salvar na pasta "lobo", criada sob a pasta do Gênesis.