Tudo
começou com um ataque e consequentemente a mordida de um
lobo sinistro, quando o personagem do jogo, vulgo o jogador, caminhava
pela mata que tem perto da cidade. Embora não tenha sido
mortal e o jogador tenha conseguido escapar, o lobo continua por
perto, rondando os incautos que se aventuram naquela floresta, afinal
ele é o lobo alfa.
Podemos
concluir portanto que até o momento da transformação
total, o jogador não é páreo para o alfa e
um encontro com ele pode ser catastrófico. Eu sei disso,
você sabe disso, o jogador sabe disso e até o lobo
sabe disso. A gente só não sabe onde o lobo estará.
Mas
antes de projetar essa presença sinistra no jogo, vamos dar
ao jogador alguma esperança de se safar desse encontro. Sabemos
que uma bala de prata disparada contra o coração
de um lobisomem mata a fera. Mas hoje é proibido ter armas
então vamos trocar o revólver por uma faca,
afinal, coração de lobisomem não distingue
entre uma bala de prata e uma faca de prata. A faca só
exige um pouco mais de coragem para chegar perto o suficiente da
fera.
Depois
de criar o objeto faca, iremos introduzí-lo no jogo
no terceiro dia, no script intro.scp:
//===
Introdução e apresentação do jogo ===========
...
:Dia3
shape= aga.gif,100,6,18,19
'~~oje é o terceiro dia e ainda sinto dores pelo
corpo todo, principalmente onde ocorreu a
mordida. Tenho andado pela mata e o tempo todo
sinto a presença do lobo alfa, querendo medir
forças e terminar o serviço que ele começou
há
dois dias atrás.
§§Só
por precaução peguei uma faca de prata, que
encontrei em casa, nas tralhas do meu falecido
avô. Talvez ele fosse um caçador de lobos.
§§Não
sei o que acontecerá se o lobo cruzar meu
caminho a noite mas tenho certeza que tentarei
matá-lo. Quem sabe assim a maldição
desaparece.'
poeobj= faca,jog
goto Saida
Uma
das formas mais simples de resolver a presença de personagens
no jogo é escolher um registrador para guardar o nome da
posição onde ele está. Faremos isso usando
o registrador 6, que será inicializado no script start.scp
da seguinte forma:
//-
Posição atual do lobo
reg= 6,.
Se
o conteúdo do registrador for um ponto, então
o lobo não está em lugar algum. E ele vai estar no
momento que o jogador "pisar" na mata. Vamos excluir a
posição dentro da cabana, dentro do buraco e na cidade,
afinal o lobo não vai se arriscar nesses locais desfavoráveis
a ele.
Onde
tratar do movimento do lobo? Obviamente que será no script
comum.scp, como se segue:
//===
Procedimentos comuns a posições ==============
shape= menu.gif,840,0,45,69,menu
shape= sair.png,840,350,45,69,final
dispobj= jog,,10,10,80,400,1
dispobj= loc,,810,90,80,240,1
reg- 2,1
ifreg= 2,0,FimDoDia
//-
coloca o lobo numa posição aleatoria
reg=
6,.
reg=
0,1
reg?
0,15
if=
0,2,reg=,6,mata1
if=
0,3,reg=,6,mata2
if=
0,5,reg=,6,mata3
if=
0,7,reg=,6,riacho
if=
0,9,reg=,6,arvore
if=
0,12,reg=,6,cabana
ifloc=
#6,Cuidado
return
:Cuidado
//- o lobo está na mesma posição
reg= 0,1
reg? 0,4
ifreg= 0,2,Atacou
return
:Atacou
cortxt= FF00FF
reg= 5,O lobo sentiu sua presença e desferiu
um ataque mortal.~
script saida
Novamente
usamos o registrador zero para sortear um número entre
1 e 15 e apenas alguns números desse intervalo
tem o poder de colocar o lobo numa posição válida.
Portanto, essa faixa vai balancear a real presença do lobo
- quanto maior ela for, menor a probabilidade dele aparecer.
Uma
vez que o lobo foi colocado no jogo, é testado (ifloc=)
se ele está na mesma posição que o jogador.
Se estiver vamos para a fase seguinte (:Cuidado),
que vai testar aleatoriamente se o lobo vai atacar ou não
o jogador.
Se
ele atacar, já era. O jogador morre e vai pro script saida.scp,
já preparado para informar ao jogador que ele foi dessa vida
pra outra. Simples assim.
|