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).