Um objeto no contexto da narrativa
Num determinado ponto a narrativa fala em uma "bolsa", que
deverá ser guardada até que alguém procure por ela.
Portanto, este é um objeto que poderá ser manipulado pelo
jogador e isso significa que ele pode "andar" pelas
páginas carregando-a.
O primeiro passo para termos um objeto funcional no jogo
é criar a sua representação gráfica. Isso implica na
decisão de termos, para os objetos, uma manipulação
que vai além do texto. De forma geral, as páginas podem
conter esses objetos que, uma vez em posse do jogador,
podem determinar rumos e ações variadas.
Não importa o tamanho do gráfico que representa o objeto,
desde que a imagem seja quadrada. Essas imagens, além
de serem utilizadas de forma avulsa, comporão quadros
específicos, como os objetos carregados pelo jogador, os
objetos na página e os objetos dentro de outro objeto.
O segundo passo é "criar" o tal objeto na seção "objetos".
Para criar, basta dar um nome a ele e em seguida ajustar
as propriedades de acordo com os campos inicial e atual.
O campo "status inicial" indica como as propriedades do
objeto estarão no momento que o jogo iniciar pela primeira
vez ou quando é resetado. Já o campo "status atual" mostra
as propriedades desse objeto no momento atual do jogo.
Note que, no nosso caso, a bolsa está na página 3 e quando
o jogador "ler" essa página deverá ser informado sobre a
presença (ou não) dela. Lembre-se que estamos usando o campo
à esquerda, do painel, para mostrar apenas os objetos que
estão com o jogador.
A página 3 segue o mesmo padrão das primeiras páginas e
contém o texto inicial de sua apresentação até que, num
determinado ponto o texto é interrompido para que o sistema
verifique a presença do objeto (destaque em vermelho).
Neste ponto a instrução "ifobj#" executa um teste e se
a propriedade "Local" do objeto for diferente no nome da
página atual, a programação salta para o ponto (label)
":Saida". Na prática isso equivale a perguntar se a bolsa
não está aqui. Sendo verdadeiro, todo bloco azul de texto
é ignorado.
No caso dela estar na página, é apresentado o texto do
bloco azul, com a possibilidade de, ao clicar na figura
da bolsa, possuí-la.
Note que na instrução "@bolsa.gif..." foi acrescentado
" align=left|". Isso é html puro, ou seja, estou informando
o sistema para manter a imagem da bolsa à esquerda e alinhar
o texto a seguir pelo topo dela.
Também mostra que o "destino" da clicada do jogador sobre a
bolsa (|pegobj&Prm=bolsa) irá desviar o processamento para
o script "pegobj", que é criado como um script genérico
para pegar qualquer objeto.
Por que fazer isso? Simplesmente para ter um controle maior
sobre "pegar objetos". No momento o script apenas "pega" o
objeto informado. Mais adiante iremos verificar antes se
jogador pode ou não pegar tal objeto, se dá para carregar
mais um ou qualquer outra especificidade desejada.
Note ainda que o "retorno" desse script é para um tal de
"xvlt". Esse script na verdade não existe (e nem deve ser
criado). Ele apenas indica para o sistema retornar ao
script que acabou de ser executado e foi marcado como
script de retorono.
Lembre-se que toda página "oficial" do jogo começa com duas
instruções: retscp= e setpos=. A primeira informa exatamente
qual é o script de retorno (xvlt) e a segunda dá o nome
oficial da página (ou posição, quando descrevemos locais
físicos).