Um
dos truques mais espertos, pra quem vai construir uma narrativa
ou adventure, é desenvolver primeiro o final do jogo, tipo:
o que irá acontecer com o jogador no final da partida?
No caso
aqui, serão duas possibilidades ou ele não quebra
a maldição e vira um lobisomem, ou quebra e aí
segue a vida normalmente. Atenção para o fato de que
ainda não foi produzido nenhum script, nem foi definido como
será o processo de busca pela solução. Estamos
tratando apenas da página de encerramento do jogo.
Tradicionalmente,
ao resolver parar de jogar ou quando chega no final (solucionando
ou não a questão principal) o jogador é confrontado
com a pergunta: "quer jogar novamente?".
No
modo operacional 4 não existe o botão default
de encerramento e essa questão ficará no limbo dos
procedimentos do executável, até que a gente tome
uma providência. Então, antes de qualquer coisa iremos
adicionar um "botão" fim, close, "X",
etc. Por coincidência já existe uma figura de X neste
tutorial.
Recapitulando
a diagramação do jogo, temos uma largura de 900px,
com margens à esquerda e à direita de 100px.
Isso nos dá um local fora da área de apresentação
do jogo para colocar botões e controle que, de certa forma,
não estão diretamente ligados ao enredo.
Levando
em consideração as medidas do "X", fica
fácil posicioná-lo no canto inferior direito ou na
posição que você achar mais adequada. Agora
é preciso inserir em todos os scripts que representam posição,
objetos ou ações, a instrução:
shape=
sair.png,840,350,45,69,final
Duas
considerações importantes: a primeira é que
criaremos um script chamado final.scp
para resolver a questão de encerrar o funcionamento do programa.
Ele pode ter a seguinte programação:
//===
Encerra o jogo ==============================
setmode= 4,900,420
telpos= aber.png
refresh
terminate 10
Antes
de "fechar" o executável, mostramos novamente a
tela inicial (telpos e refresh)
e após 10 segundos o programa é encerrado.
A
segunda consideração é de ordem prática:
acrescentar a instrução de saída em todos os
scripts relevantes, ainda que no momento eles sejam poucos, pode
ser um trabalho braçal chato mas dá pra fazer. Agora
imagine se daqui a algum tempo a gente resolva colocar o "X"
no topo da tela, ou acrescentar um botão de configuração,
ou um menu de opções, ou mostrar automaticamente os
objetos que o jogador tem, ou qualquer outra coisa que a nossa imaginação
quiser fazer. Trabalhão dobrado, não é mesmo?
Nem
tanto. Ao invés de apenas acrescentar o shape=,
no final dos scripts criamos um script chamado comum.scp
e é nele que colocamos o shape=.
Dai em diante podemos acrescentar então a instrução:
gosub
comum
Tal script ficaria então assim:
//===
Procedimento comuns a posições ==============
shape= sair.png,840,350,45,69,final
return
Ainda
falta a questão da pergunta "Quer jogar novamente?"
.
Vamos criar então um script chamado saida.scp,
que irá processar tudo que o for relevente numa eventual
saida do jogo.
//===
Procedimentos de finalização do jogo ========
setmode= 4,900,420
clearscreen
cleartxt
shape= aber.png,100,0,700,326
printx Quer jogar novamente?,100,350,700,30
shape= tic.gif,100,390,20,30
shape= sim.gif,130,390,60,30,start
shape= nao.gif,200,390,60,30,final
Note
que foi mostrada novamente ao jogador a tela de abertura do jogo
e no rodapé a pergunta, com as possibilidades sim
ou não. Caso o jogador clique em não,
o script final.scp será
executado. Caso ele clique em sim, o script start.scp
fará tudo começar do zero.
|