Certo número de score ganha uma vida

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Certo número de score ganha uma vida

Mensagem por Ueliton em Sex 04 Nov 2011, 12:20

Como eu faço para quando o player juntar um certo número de score ele ganhar uma vida?

Valeu pelas dicas , testei apenas o 1° código que postaram e já funcionou.
Daqui a uns dias ou até mesmo hoje eu posto o jogo aqui no fórum em projetos completos.
O nome do jogo é: Desvie dos Blocos, o nome é simples, mas o jogo tem sistemas muito legais.


Última edição por Ueliton em Sex 04 Nov 2011, 19:34, editado 1 vez(es)

Ueliton

Ranking : Nota D
Número de Mensagens : 128
Data de inscrição : 29/10/2011
Notas recebidas : E+D
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://gmls.forumeiros.com/

Voltar ao Topo Ir em baixo

Re: Certo número de score ganha uma vida

Mensagem por Convidad em Sex 04 Nov 2011, 12:22

Basta colocar isso no step_event
Código:

maximo_de_score=100 //o numero de score que vira uma vida.
if(score>=maximo_de_score) {
score=0
lives+=1
}
Somente isso já resolve o problema.até mais.

caso esteja usando outras variáveis,apenas substitua .


Última edição por TRFN em Sex 04 Nov 2011, 12:31, editado 2 vez(es)

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Certo número de score ganha uma vida

Mensagem por vinians em Sex 04 Nov 2011, 12:25

Amigo existem varias maneiras, por exemplo vc pode fazer usando multiplos de um certo valor, por exemplo a cada 50.000. Se for assim pode ser feito da seguinte maneira:
EVENTO CREATE
Código:

ultimo_score = -1;
EVENTO STEP
Código:

if ((score mod 50000) == 0) and (score != ultimo_score)
{
    lives += 1;
    ultimo_score = score;
}
Essa é uma das maneiras, vc pode tambem usar um vetor com valores predefinidos, mas esse jeito ai é o mais simples de todos.

TRFN escreveu:
Basta colocar isso no step_event
CÓDIGO:

maximo_de_score=100 //o numero de score que vira uma vida.
if(score>=maximo_de_score)lives+=1

Somente isso jhá resolve o problema.até mais.

caso esteja usando outras variáveis,apenas substitua .
Não funciona, vai ficar adicionando lives para sempre apos atingir o valor maximo_de_score.

Flws


Última edição por vinians em Sex 04 Nov 2011, 12:28, editado 1 vez(es)

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Certo número de score ganha uma vida

Mensagem por GALAXY GAMES em Sex 04 Nov 2011, 12:27

Essa é um pergunta comum de se ver aqui no fórum. Tenta esse código ae:

Código:
if score=100 //Se juntar 100 pontos
{
lives+=1 //Ganha uma vida
}

Caso vc queira que zere o score depois disse, coloque esse código em baixo de lives:
Código:
score=0

Então o código ficaria assim:

Código:
if score=100 //Se juntar 100 pontos
{
lives+=1 //Ganha uma vida
score=0 //Zera a pontuação

GALAXY GAMES

Ranking : Nota E
Número de Mensagens : 439
Data de inscrição : 03/10/2011
Notas recebidas : D+E+E
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Certo número de score ganha uma vida

Mensagem por saim em Sex 04 Nov 2011, 12:32

TRFN escreveu:Basta colocar isso no step_event
Código:

maximo_de_score=100 //o numero de score que vira uma vida.
if(score>=maximo_de_score)lives+=1
Somente isso jhá resolve o problema.até mais.

caso esteja usando outras variáveis,apenas substitua .
E tenha vidas infinitas assim que chegar ao score de 100 Happy

Você pode definir o "máximo_de_score" no create event, pra liberar memória, e fazer essa checagem nos eventos que geram score, pelo mesmo motivo (a menos que sejam muitos eventos, aí nem vale a pena ir lá alterando um-por-um).
Mas, principalmente, garanta que após ganhar a vida, o score não se mantenha maior que o maximo_de_score. Ou diminua o score ou aumente o maximo_de_score, senão essa verificação retornará true em todos os steps.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Certo número de score ganha uma vida

Mensagem por gabrielsch em Sex 04 Nov 2011, 12:32

Olá Ueliton

Faça assim crie uma variável no evento create, assim:
Código:
score_max=0

Feito isso você irá colocar no step o seguinte código:

Código:
if score_max > 100
{
 score_max = 0
 lives += 1
}

Ao conseguir pontos lembre-se de somar o número de pontos que somou no score ao score_max.

Caso você não zere a variável score_max depois de atingir no caso 100 ela vai te dar vida infinita! Mude o 100 para o número de pontos que você quer.

Flw! sorrindo2

EDIT:
Não perca mais um capitulo de: "1 pergunta 500 respostas!" sorrindo


Última edição por gabrielsch em Sex 04 Nov 2011, 12:34, editado 1 vez(es)

___________


Acesse: http://foxen.com.br/



gabrielsch

Ranking : Nota A
Número de Mensagens : 1229
Idade : 21
Data de inscrição : 06/12/2009
Notas recebidas : D + A + A
Reputação : 28
Insignia 1 x 1 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 2
   : 0

Voltar ao Topo Ir em baixo

Re: Certo número de score ganha uma vida

Mensagem por Convidad em Sex 04 Nov 2011, 12:33

Foi mal ai.
Digitei muito rápido,esqueci de colocar para zerar o score.Pode usar q funciona ok.
GALAXY GAMES,teu código possibilita bugs,pois somente se for igual a 100 é que funcionará.Mas e se for 101 ?
E falando nisso,gostei do teu jeito de usar o score,usando mod kkkk
um jeito novo xD

Convidad
Convidado


Voltar ao Topo Ir em baixo

Re: Certo número de score ganha uma vida

Mensagem por saim em Sex 04 Nov 2011, 12:46

Não tinha visto a resposta do vinians. Usar mod também não funciona pelo mesmo motivo da resposta do GALAXY GAMES não funcionar: e se for 50001?
Talvez usando div e comparando se (score div 50000 !=0). Mas ainda careceria de uma solução pra não dar vidas a cada step.

Edit: E, na resposta do Gabriel, eu trocaria
Código:
if score_max > 100
{
 score_max = 0
 lives += 1
}
por
Código:
if score_max > 100
{
 score_max -= 100;
 lives += 1
}
Também pelo mesmíssimo motivo, mas nesse caso tenho que dar exemplo. Suponha que o cara esteja com score de 98. Tanto o score quanto o score_max estão em 98. Daí ele faz dez pontos de uma só vez. Esse código (do Gabriel) vai dar uma vida e baixar o max_score pra zero. Daí ele continua jogando e está com 199 pontos. O max_score está em 191. Ele faz um pontinho e - olha lá, vai ganhar a vida... não ganhou vida! Evil or Very Mad
'Tendeu? O jogador não iria entender a regra (ou achar que o jogo tá roubando). Além do mais, uma estrela megamaster que te dá 500 pontos não vale nada se ela não te der 5 vidas, vale?


Última edição por saim em Sex 04 Nov 2011, 13:01, editado 3 vez(es)

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Certo número de score ganha uma vida

Mensagem por Carlos Mahnke em Sex 04 Nov 2011, 12:54

O problema ai é que o ganho de pontos pode ser arbitrário e nunca cair em um valor exato que está sendo esperado.

Eu já fiz esse sistema usando uma segunda variável que era acumulada juntamente com a de pontuação, e ao chegar em determinado valor eu acrescia uma vida e zerava o contador, ex:

Código:
CREATE
playerScore = 0;
playerBonus = 0;

EVENTO QUE ACUMULA PONTOS (pode ser qualquer evento, depende do jogo)
playerScore += 100;
playerBonus += 100;

STEP
if (playerBonus >= 1000)
{
playerLives += 1;
playerBonus = 0;
}

Acredito que existam maneiras mais técnicas de se fazer isso, mas ao menos essa funciona pois esse segundo contador vai acrescendo conforme a pontuação ganha até atingir a quantidade que acumula uma vida e então recomeça.

A "desvantagem" fica por conta da necessidade de somar os pontos igualmente pra ambas as variáveis em cada ação onde o player pontuar.

Carlos Mahnke

Ranking : Sem avaliações
Número de Mensagens : 202
Data de inscrição : 27/07/2011
Notas recebidas : A+B (não colocar conceito)
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: Certo número de score ganha uma vida

Mensagem por vinians em Sex 04 Nov 2011, 12:55

saim escreveu:Não tinha visto a resposta do vinians. Usar mod também não funciona pelo mesmo motivo da resposta do GALAXY GAMES não funcionar: e se for 50001?
Talvez usando div e comparando se (score div 50000 !=0). Mas ainda careceria de uma solução pra não dar vidas a cada step.
Tem razão.
Ueliton use a solução do gabrielsch, pelo que analisei funciona perfeitamente. Você pode até ir aumentanto o valor de score_max para o "proximo valor que ganha vida". Otima solução.

vinians

Ranking : Nota B
Número de Mensagens : 2490
Idade : 27
Data de inscrição : 18/09/2008
Notas recebidas : B-C-A-C
Reputação : 52
Insignia 1 x 0 Insignia 2 x 1 Insignia 3 x 0
Prêmios
   : 0
   : 2
   : 1

http://xcreatorgames.weebly.com/

Voltar ao Topo Ir em baixo

Re: Certo número de score ganha uma vida

Mensagem por Conteúdo patrocinado Hoje à(s) 05:57


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum