Hola, estoy haciendo un juego rapidito, i me gustaria saber como puedo hacer un if que vaya del global.puntos = 0 hasta el global.puntos = 9.

Me explico, el juego empieza en 0 puntos ( obiamente), entonces quiero que cuando llege a diez, la velocidad del juego aumente, igual que cuando llege a 20 y a 30.

El juego es muy simple, trata de pulsar unos circulos que salen en pantalla,y contra mas putnos mas deprisa salen, entonces me gustaria saber el codigo, yo tenia algo asi:


if (global.puntos <=9){
"haz algo"}

if (global.puntos <=19){
"haz algo"}


if (global.puntos <=29){
"haz algo"}


if (global.puntos <=39){
"haz algo"}


Pero el problema de este codigo, es que cuando tienes 15 por ejemplo, se aplica el primer y el segundo if.

Si alguien me ayudara le estaria agradecido!



#1 Julio 29, 2015, 05:08:48 PM Ultima modificación: Julio 29, 2015, 05:13:12 PM por Yoo
Solo cambie el codigo por este:

[gml]
if (global.puntos >=30){
"haz algo"}
else
if (global.puntos >=20){
"haz algo"}
else
if (global.puntos >=10){
"haz algo"}
else
if (global.puntos >=1){
"haz algo"}
[/gml]
- Empty -

Llegue tarde  XD

PSD: Lo que dice Yoo debería de funcionar,  :D
Cordialmente Jodidox!

Hay alguna forma de hacerlo automaticamente  y no copiar tanto codigo ??

Que vaya en aumento la velocidad si los codigos anteriores.
imaginen que tienen un juego de 1000 puntos cuantos codigos tenes que poner  :'( :'( :'( :'( :'(

Gracias

#4 Julio 29, 2015, 06:04:10 PM Ultima modificación: Julio 29, 2015, 06:16:36 PM por fasst007
En el caso de que cada 10 puntos se ejecute la misma acción, este código sería como preguntar:
¿la cantidad de puntos es divisible por 10 y no es cero ? en caso afirmativo hacer algo.
Para que haga algo a los 10, 20, 30, 40, 50, 60, etc puntos. Si queremos poner un límite se podría poner otro "and" agregando si es menor a "x".


if (((frac(global.puntos / 10)) == 0) and (global.puntos != 0)) {
  "haz algo" }


y en este código cuando supera los 100 puntos ya no ejecuta más nada:

if (((frac(global.puntos / 10)) == 0) and (global.puntos != 0) and (global.puntos <= 100)) {
  "haz algo" }


Para saber en que decena se haya:

decena = floor(global.puntos / 10);

si decena es 0 -> va de 0..9
si decena es 1 -> va de 10..19

supongamos que en cada decena la velocidad aumente en "2", entonces:

decena = floor(global.puntos / 10);
velocidad_personaje = velocidad_inicial + (decena * 2);






Tambien para reducir codigo podrias poner una variable que controle la velocidad en todos lo objetos y cada diez puntos le aumentas a esta variable...
TE DEJO UN EXAMPLE A LO QUE ME REFIERO...(yo uso room_speed)
- Empty -

el ejemplo es muy bueno ,pero usar room_speed el algo letal  :-[ :-[ :-[ :-[

Cita de: eams1986 en Julio 30, 2015, 05:39:10 AM
el ejemplo es muy bueno ,pero usar room_speed el algo letal  :-[ :-[ :-[ :-[

BUENO, por eso es un ejemplo...  :D  :-[  :D
- Empty -