terça-feira, 20 de setembro de 2011

Sistema de contagem de pontos

Nome: Contagem de pontos!!
Descrição: Neste tuto vamos ver como montar uma tabela de pontos adquiridos durante as fases em seus games.
Nível de dificuldade: Mediano
Requerimentos: GM 7/8 PRO,mas creio q funcione no Lite tbm.


Um ótimo exemplo do que vamos fazer, é essa tela aí que aparece quando você fecha um act no Sonic the Hedgehog. Nela você vê todos os pontos extras que você conseguiu ao fechar o act.


Pipolho: Tio SIIIIIIIIIIGIII, estou com sono... São 01:30, passa logo o código aí que eu quero ir pra casa... T_T
SIGI: Hoje quem manda sou eu mané, caluda.


Pra começar, vamos definir algumas variáveis globais. Supondo que os bônus adquiridos sejam zerados ao se iniciar uma fase, podemos declarar nossas variáveis em algum objeto presente nas fases, como o obj_controle, obj)view... enfim.
CÓDIGO:
global.bonus_moeda=0
global.bonus_tempo=0

global.bonus_total=0
global.time_bonus=200

Ok, as primeiras variáveis representam os bônus que vamos ganhar, no caso, seriam bônus pelas moedas e pelo tempo. Depois a gente vai declarar duas variáveis muito importantes pra treta, o bonus_total, que representa todo o bõnus adquirido, e o time_bonus, ele faz a parada acontecer.


Pipolho: Wuuahhh........ tonto Muito bonitinho, posso ir pra casa?
SIGI: Quando chegar seu aniversário você decide alguma coisa.


Agora é bem simples, sempre que o jogador ganhar algum bônus, acrescente ao código a variável correspondente ao bônus+ o valor adquirido. Trocando em míudos...
Pipolho pegou uma moeda!
CÓDIGO:
global.moeda+=1
global.bonus_moeda+=100

Quanto mais tempo passar, menor será seu bônus!
Durante o código responsável pelo tempo...
CÓDIGO:
global.tempo-=1
global.bonus_tempo-=100

Sacaram? Não é difícil!

Dessa forma, durante o jogo, os bônus estarão sendo manipulados e no fim da fase teremos valores prontos para uma contagem, que é o que veremos aqui.

Tendo uma fonte em mãos poderemos criar a tela onde vamos mostrar as variáveis.
No momento em que a contagem começar, use algo como isto no DRAW de algum objeto:
CÓDIGO:
draw_set_font(a fonte que você vai usar)
draw_text(10,100,"Bônus de moedas")
draw_text(10,110,"Bônus de tempo")
draw_text(10,150,"Total")

draw_text(100,100,global.bonus_moedas)
draw_text(100,110,global.bonus_tempo)
draw_text(100,150,global.bonus_total)

Este é um medíucre código em que simulamos a tabelinha que aparece na tela, que nem a da screen lá encima ;D

Agora, durante a tabelinha na tela, vamos ativar isto, no STEP dese mesmo objeto:
CÓDIGO:
global.timer_bonus=200

Isto é o que fará o código realmente funfar, meus garotos. Vamô ver como.

Para começar a contagem das moedas:
CÓDIGO:
if global.time_bonus<200
{
if global.bonus_moedas>0
{
global.bonus_moedas-=1
global.bonus_total+=100
global.pontos // a variável que você usa pra contar os pontos
global.time_bonus+=1
}
}

Viram? É exatamente isso que acontece: o bônus das moedas vai diminuindo na tela, o jogador ganha os pontos e ele ainda vai contando o total adquirido Smile

Nenhum comentário:

Postar um comentário