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