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]
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
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
muchas gracias :D