Como simular um dado numa página
 
O propósito deste artigo é mostrar as diversas formas de simular um dado, ou seja, ter um link na página que execute um desvio aleatório para um conjunto de alternativas. Para facilitar a compreensão, farei as referências como se tratasse de uma aventura do tipo livro (mudança páginas), mas o método pode ser aplicado em qualquer modelo de jogo.

Só lembrando algo importante: não é de fato um dado, portanto não estamos falando de valores a serem somados ou subtraídos em resposta ao clique. Assim, é necessário inserir o tal “dado” no contexto do jogo, alinhando com a narrativa e o enredo. No entanto, caso seja necessário o uso de um dado mesmo, ele terá que ser “resolvido” dentro da programação do script.

Modelo 1: esta é a solução mais simples, pois usa apenas uma instrução (cmd=). Existe um parâmetro nela para definir o tipo de operação que será executada e o usaremos aqui é o parâmetro “lnk”. A sintaxe completa da instrução é:

 

cmd= lnk,px,py,pw,ph,ft,string,url

 
Relembrando... lnk coloca a mensagem string num box com as coordenadas px,py, largura pw e altura ph, usando o parâmetro ft como tamanho de fonte. O parâmetro url será executado quando o mouse for clicado sobre o link criado pela string.

No caso em questão estamos pretendendo “mudar de página” e isso significa rodar um outro script (cada página é definida num script logo, para mudar de página, basta executar o script desejado).

Digamos que existam 3 páginas, nomeadas como pg01, pg02 e pg03. Para ter um link que executa um novo script, usamos o seguinte arquivo php:

 
exescp.php?Scp=nome_do_script
 
O leitor está numa página qualquer (onde começa a leitura) e um link direto para a página pg01 seria assim:
 
cmd= lnk,0,470,400,25,4,Ir para a página 1,exescp.php?Scp=pg01
 
Mas se pretendemos fazer uma mudança aleatória para as 3 páginas, a instrução passa a ser escrita assim:
 
cmd= lnk,0,470,400,25,4,Sortear,exescp.php?Scp=pg01=pg02=pg03
 
Se trocarmos o parâmetro “lnk” por “ico”, poderemos usar uma gif animada para simular um dado girando.
 
cmd= ico,0,470,400,25,dado.gif,exescp.php?Scp=pg01=pg02=pg03
 
Esse procedimento é bem simples de ser implementado na aventura mas ele tem um problema: a escolha da página de desvio já foi realizada e o link já apontará para a página. Se o navegador mostrar a url do link, o leitor pode saber de antemão para onde será feito o desvio. A solução é colocar o sorteio depois do click do leitor.

Modelo 2: as páginas 1,2 e 3 são as mesmas, porém criamos um script pg00 para promover o sorteio e o desvio correspondente. Assim, a instrução na página ficaria com a seguinte estrutura:

 
cmd= lnk,0,470,400,25,4,Sortear,exescp.php?Scp=pg00
 
Sendo que o script pg00 seria escrito da seguinte forma:
 
  reg= 10,1
  reg? 10,2
  ifreg= 10,1,Pag1
  ifreg= 10,2,Pag2
  ifreg= 10,3,Pag3
  end
:Pag1
  script pg01
  end
:Pag2
  script pg02
  end
:Pag3
  script pg03
  end
 
O registrador 10 recebe o valor 1; em seguida é adicionado um valor aleatório entre 0 e 2 (portanto o valor final será 1, 2 ou 3) e em seguida decidimos o desvio em função do valor que está no registrador 10. A instrução “script” executa o script indicado e encerra o processamento da página.

Uma forma otimizada de escrever esse mesmo procedimento seria:

 
  reg= 10,1
  reg? 10,2
  reg= 11,pg0
  reg$ 11,#10
  script #11
  end
 
Com isso, o “sorteio” passa a ser realizado depois que o leitor clicou no link, que sempre estará apontando para a página 0. Se for o caso de somar, subtrair, etc, valores como se fosse um dado, o script pg00 pode ser usado para realizar essas operações.

Modelo 3: há um último modelo de programação de dado, que sincroniza a imagem aparecida com o desvio. Não é um modelo recomendado, pois ele depende do refresh da página e isso pode fazer a imagem toda do jogo piscar ou demorar, em função da velocidade da conexão. Mas, se for para usar esse método, o script da página (pg04) seria o seguinte:

 
  reg= 10,1
  reg? 10,2
  reg= 11,exescp.php?Scp=pg0
  reg$ 11,#10
  reg= 12,dado
  reg$ 12,#10
  reg$ 12,.gif
  cmd= lnk,0,470,400,25,4,Sortear,#11
  cmd= ico,100,470,15,25,#12,#11
 
Não é complicado simular um sorteio aleatório de desvio, no sistema de programação de scripts. Mas para esse processo funcionar bem, é importante que o autor crie um “clima” na página, onde o leitor se sinta seguro ao clicar e/ou seja induzido pela narrativa e enredo de que realmente está acontecendo da forma como o texto insinua.

Ou seja, é a “mão” do autor que vai determinar se a solução é boa ou não.

 
índice | próxima
 Dúvidas, críticas, sugestões, etc... Acesse o grupo Aventuras Interativas no Facebook