"Amarrando pontas soltas..."

Vimos anteriormente como criar, deslocar, pegar ou simplesmente soltar objetos. A questão agora é como eu vou saber quais objetos estão no local do leitor ou jogador, quais estão com ele e quais estão dentro de outro objeto?


Antes de saber quais objetos será preciso saber quantos objetos e para isso existe uma instrução simples:


O primeiro parâmetro indica o local dos objetos que serão contados, ou seja, jog = objetos com o jogador ou leitor, loc = objetos no mesmo local que o jogador ou leitor e dnt = objetos dentro do objeto que for especificado no parâmetro [obj].

O resultado da contagem será colocado no registrador indicado pelo parâmetro reg. Desta forma é possível personalizar respostas para cada situação ou para cada quantidade de objetos encontrados.

Mas como informar ao leitor ou produzir links que façam com que cada script de objeto seja executado, caso o leitor ou jogador assim o desejar?


Esta instrução monta, no registrador informado reg, uma string contendo a descrição curta de cada objeto que corresponder à seleção jog, loc ou dnt . E olha que bacana: se for mais de um ou dois, o sistema não apenas coloca as virgulas como finaliza a frase com "e" e ponto final.


A instrução acima funciona da mesma forma que a anterior, com a diferença de que cada descrição de objeto será na verdade um link ativo para o script deste mesmo objeto.

Lembre que essa descrição curta foi definida quando houve a criação do objeto mas, ao longo do processamento da aventura ou conto ela pode ser mudada. Por exemplo, "um copo" pode ser alterado facilmente para "um copo quebrado", se você quiser refinar a descrição em um determinado ponto do jogo ou livro.


Mas como o nome diz, é apenas uma descrição curta, para fazer uma referência ao objeto. Uma descrição mais detalhada deve ser feita no script relativo ao próprio objeto.


O exemplo acima ilustra um script genérico que poderia corresponder a uma ação do tipo "listar os objetos que estão com o jogador". Vale o mesmo princípio para objetos no local e para objetos dentro de outro objeto.

Destaque apenas para a instrução #reg,3 cuja função é, dentro do bloco boxon ... boxoff mostrar o conteúdo do registrador 3.


E se usarmos imagens?

Ok, entendi

Índice das páginas