Pra
dificultar um pouco mais a vida do jogador, vamos assumir que a
solução para quebrar a maldição do lobisomem
esteja descrita no pergaminho. Mas ele só pode ser lido sob
a luz do luar, então, teremos dois shapes que retraram este
objeto:
No
primeiro momento que o jogador olhar para a lua e estando
de posse do pergaminho, então ele mostra o seu conteúdo.
A primeira modificação acontece no script lua.scp:
//===
Situação atual da lua ======================
setmode= 4,900,420
cleartela
cleartxt
ifobj# pergaminho,jog,Cont
setshpobj= pergaminho,perga2.png
:Cont
gosub comum
shape= lua0.png,100,0,700,220
//montar o nome do arquivo que mostra a lua
reg= 1,5
reg= 0,lua
reg$ 0,#1
reg$ 0,.png
shape= #0,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 a instrução ifobj#
verifica se o campo local do pergaminho é diferente
de "jog" ou seja, produz o salto para Cont
se o pergaminho não estiver com o jogador. Caso contrário
ele muda o nome do shape do pergamino para perga2.png.
//===
Objeto: pergaminho =================
setmode= 4,900,420
cortxt= FF0000
cleartela
cleartxt
gosub comum
getshpobj= 0,pergaminho
shape= #0,100,0,358,358,
'Pergaminho
§§Antigo pargaminho com sinais de que...
O
destaque aqui é que não usaremos mais diretamente
o nome do shape mas obteremos o nome em vigor do shape, diretamente
do campo shape do objeto. Colocamos ele no registrador
zero, temporariamente, e em .seguida usados esse conteúdo
para colocar a imagem na tela.
Este
esquema serve para qualquer objeto que sofra variações
na sua imagem, do tipo mala aberta / mala fechada; lanterna acesa
/ lanterna apagada; nível de água dentro da garrafa;
vaso inteiro / vaso quebrado, etc.
|