After almost two days of work in the code what I obtained it was headaches.
I eliminated attributes to simplify the code. However I did not obtain to decide bugs in the two last labels (acao and gameover). Partially for involving the proper mechanics of the game, partially why BasiEgaxorz does not handle negative numbers. what it makes impracticable the combat system as I imagined.
this is the version "zombie" of the code (in reason of the thematic of terror film) and does not contain text in English (forgive me, but I did not have time to add text translated into the English). The good side is that it was possible to add an introduction with the history of the game.
follows the code below:
---CUT HERE---
option title, "como poderia ficar pior?"
'contador para atualizações na tela (incrivelmente útil!)
dim contador as integer
'joytick
dim ctrl as integer
'atributos do jogador: vida, forca, velocidade, dinheiro
dim vida as integer
'dim forca as integer
'dim vel as integer
dim din as integer
'direções que o jogador pode ir
dim dir as string
'coisa achadas pelo jogador
dim achado as string
'
?
dim encontro as integer
'atributos dos monstros: vida, forca, velocidade, dinheiro
dim mvida as integer
dim mdin as integer
'sorte do jogador e dos monstros
dim sorte as integer
status:
contador=1
'status iniciais do jogador
vida=51
din=100
'direção inicial do jogador
dir$ = " norte"
'o que ele encontra inicalmente
achado$=" nada"
intro:
do
if contador then
ink 1
print " voce acordou em um dia de grande"
print " azar."
print " foi despedido do emprego."
print " sua namorada te deixou."
print " seu melhor amigo te considera um"
print " idiota retardado."
ink 2:print ""
print " como poderia ficar pior?"
print " a cidade foi tomada por zumbis..."
ink 1:print ""
print " agora a vida e bem mais simples."
print " e matar ou morrer."
print " boa sorte e tenha um bom dia."
ink 3:print ""
print " aperte (START) para comecar a matanca"
ink 0
contador=0
endif
ctrl=joypad(0)
'sai da introdução e vai para o jogo propriamente dito.
if ctrl.7 then
waitpadup
contador=1
goto cerne_ptbr
endif
loop
cerne_ptbr:
do
if contador then
cls
print " status:"
print " vida: ";vida
print " dinheiro: ";din
print ""
print " para onde voce vai?"; dir$
print " voce encontrou algo?"; achado$
contador=0
endif
ctrl=joypad(0)
'apertou para cima
if ctrl.0 then
dir$ = " norte"
contador=1
sleep 10
goto rastro
endif
'apertou para esquerda
if ctrl.2 then
dir$ = " oeste"
contador=1
sleep 10
goto rastro
endif
'apertou para baixo
if ctrl.1 then
dir$ = " sul"
contador=1
sleep 10
goto rastro
endif
'apertou para direita
if ctrl.3 then
dir$ = " leste"
contador=1
sleep 10
goto rastro
endif
loop
rastro:
do
if contador then
randomize timer
encontro=rnd(9)
'o jogador não encontra nada
if encontro=0 then
achado$=" nada"
goto cerne_ptbr
endif
'o jogador encontra dinheiro
if encontro=1 then
achado$=" dinheiro"
din=din+50
goto cerne_ptbr
endif
'o jogador encontra um kit médico
if encontro=2 then
achado$=" kit medico"
vida=vida+15
goto cerne_ptbr
endif
'o jogador encontra uma arma
if encontro=3 then
achado$=" arma de fogo carregada"
'forca=forca+10
din=din+15
goto cerne_ptbr
endif
'o jogador encontra um advogado zumbi
if encontro=4 then
achado$=" advogado zumbi"
mvida=10
mdin=20
goto acao
endif
'o jogador encontra uma enfermeira zumbi
if encontro=5 then
achado$=" enfermeira zumbi"
mvida=10
mdin=10
goto acao
endif
'o jogador encontra um policial zumbi
if encontro=6 then
achado$=" policial zumbi"
mvida=20
mdin=30
goto acao
endif
'o jogador encontra um soldado zumbi
if encontro=7 then
achado$=" soldado zumbi"
mvida=25
mdin=50
goto acao
endif
'o jogador encontra um comando especial zumbi
if encontro=8 then
achado$=" comando zumbi"
mvida=35
mdin=75
goto acao
endif
'o jogador encontra um tyrant
if encontro=9 then
achado$=" tyrant"
mvida=70
mdin=150
goto acao
endif
contador=0
endif
loop
acao:
do
randomize timer
sorte=rnd(5)
'o basiegaxorz não gosta de números negativos
if vida<=1 then
goto gameover
endif
if contador then
cls
ink 3
print " status:"
print " vida: ";vida
print " dinheiro: ";din
print ""
print " voce encontrou: "; achado$
print " o que voce vai fazer?"
print " fugir? Aperte (A)"
print " atacar? Aperte (B)"
ink 0
contador=0
endif
ctrl=joypad(0)
'apertou (A)
if ctrl.6 then
'if sorte<=3 then
if sorte>=3 then
ink 1
print ""
print " voce conseguiu escapar!"
contador=1
sleep 50
ink 0
achado$= " nada"
goto cerne_ptbr
endif
'if sorte>3 then
if sorte<3 then
ink 1
print ""
print " voce nao conseguiu escapar!"
print " o zumbi ataca"
vida=vida-(mvida-5)
contador=1
ink 0
sleep 50
endif
contador=1
endif
'apertou (B)
if ctrl.4 then
'waitpadup
print " voce ataca o zumbi!"
mvida=mvida-(vida*sorte)
print " o zumbi contra ataca!"
vida=vida-(mvida*sorte)
if vida<=1 then
goto gameover
endif
if mvida<=1 then
print " voce destruiu o zumbi!"
sleep 50
goto cerne_ptbr
endif
contador=1
sleep 50
endif
loop
gameover:
do
cls
if contador then
cls
print " game over - o jogo acabou"
print " hoje positivamente nao e seu dia..."
pontuacao=din*3+1
print " sua pontuacao foi: "; pontuacao
print ""
print " aperte (Start) para reiniciar"
print " outro dia perfeito..."
contador=0
endif
ctrl=joypad(0)
'apertou start
if ctrl.7 then
waitpadup
'volta para os valores iniciais dos atributos antes de iniciar nova partida
contador=1
sleep 10
goto status
endif
loop
---CUT HERE---
jlf65, could show to me some example of data tables?
haroloop, I go to verify your program.
Again thanks for the aid