Febrero 16, 2016, 08:07:18 AM Ultima modificación: Febrero 16, 2016, 07:41:06 PM por Georgia
hola
me gustaría que me ayuden
como podría poner rondas(rounds) en mi juego sería un total de 5 rondas en un tiempo de 20 segundos cada una, y que al terminar las rondas se sumen los puntos para determinar al ganador.

disculpen que sea tanto, es que estoy iniciando con el game maker, ya busque sobre eso y no pude encontrar algo parecido a lo que quiero.

evento create:
[gml]ronda = 0;
maximoderondas = 10; //el maximo que tendrá, 10 por ejemplo, cuenta la numero 0 o ponla que empiece en 1!!
alarm[0] = 20*room_speed; //20 son los segundos[/gml]

evento alarm0:
[gml]if ronda < maximoderondas {
    ronda++;
    alarm[0] = 20*room_speed; //igual que antes
    }
else {
    //codigo al final de la partida
    }[/gml]
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Marth me ganó, de todos modos voy a mostrar lo que escribí, es una ligera variación.
¿Quieres hacer un juego de pelea al estilo Street Fighter?, si apenas comienzas con GameMaker no te recomiendo que lo hagas, un juego como ese requiere muchos conocimientos y mucho trabajo. Como sea, esta es la solución que se me ocurrió:

En un objeto controlador, en el evento Create, inicia una alarma de 20 segundos y una variable para contar las rondas
[gml]
alarm[0] = 20*room_speed;
ronda = 0;
[/gml]
Para dibujar los segundos, sin decimales, puedes hacer esto (en el evento Draw)
[gml]draw_text( x,y, string( alarm[0] div room_speed ));[/gml]
En el evento Alarm 0 (del controlador), guarda los resultados y restablece los puntos de los jugadores y sus posiciones. También revisa si se ha alcanzado el número máximo de rondas para terminar el juego.
[gml]
resultado1[ronda] = obJugador1.puntos; //puntos del jugador 1
resultado2[ronda] = obJugador2.puntos; //puntos del jugador 2

obJugador1.puntos = 0;
obJugador2.puntos = 0;

obJugador1.x = obJugador1.xstart;
obJugador1.y = obJugador1.ystart;
obJugador2.x = obJugador2.xstart;
obJugador2.y = obJugador2.ystart;

ronda += 1; //incrementar contador de rondas
if( ronda >= 5 ) //si es 5 el juego termina
{
    total1 = 0; //preparar variables
    total2 = 0;
    for( i=0; i<ronda; i+=1 )
    {
        total1 += resultado1; //sumar los resultados
        total2 += resultado2;
    }
   
    if( total1 > total2 ){
        //el jugador 1 gana
    }
    else if( total2 > total1 ){
        //el jugador 2 gana
    }
    else {
        //empate
    }
}
[/gml]
Faltan varios detalles dentro del código, pero esa es la idea.

marth?? xD
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]

Disculpa kostra, no se porqué me imaginé el nombre y el avatar de Marth  :-[

será que la cerveza y las letras forman un barquito jaja
[spoiler="ola k ase clickarme o k ase"]la imagen no se quita xD
[/spoiler]