Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: unbleached en Diciembre 11, 2010, 09:23:00 PM

Título: turnos a 24 players(solucionado)
Publicado por: unbleached en Diciembre 11, 2010, 09:23:00 PM
hola a todos....ando loco  :'(  mirando tutoriales y videos (en ingles todos y yo el ingles ufffffff)y necesitaria crear un sistema de turnos para 24 objetos(mu?ecos vamos)12 movidos por mi y 12 por IA.He visto unos cuantos tutos pero ninguno para 24 y no sabria como hacerlo.Agradeceria un poco de ayuda.Un saludo a todos y buen trabajo en esta web.Saludossssssss
Título: Re: turnos a 24 players
Publicado por: Markus en Diciembre 13, 2010, 04:17:08 PM
Una forma es la siguiente:
1. Almacenar a los 24 objetos en una lista.
2. Elegir un objeto de la lista (al azar, por ejemplo) y ejecutar su turno.
3. Una vez terminado el turno, eliminarlo de la lista y elegir otro.
4. Cuando ya no quede nadie en la lista, comenzar de nuevo por el paso 1.

Nos leemos.
Título: Re: turnos a 24 players
Publicado por: unbleached en Diciembre 16, 2010, 06:23:20 PM
bua no me entero lo he intentado pero no me sale....bueno y empezando solo con dos turnos como seria?  luego seria cuestion de ir a?adiendo...pero si empiezo con 24 de golpe no saco nada en claro....estoy hecho un lio.....mil gracias y salud
Título: Re: turnos a 24 players
Publicado por: Texic en Diciembre 16, 2010, 09:35:26 PM
Te paso un ejemplo, la idea es simple, ten?s que posibilitarle el movimiento s?lo al jugador que tiene el turno correcto. Est? algo r?gido el ejemplo pero no ten?a mucho tiempo, pasas el turno con el enter y la cpu pasa el turno sola luego de 3 segundos. El orden de turnos en ej ejemplo es asi:

2 4 6 8 10 12 14 16 18 20 22 24

1 3 5 7 9  11 13 15 17 19 21 23
Título: Re: turnos a 24 players
Publicado por: unbleached en Diciembre 19, 2010, 06:53:10 PM
pido disculpas de antemano pero....he intentado hacerlo desde cero (basicamente para que me quede claro cada codigo y cada accion que hago) y no logro hacerlo....se que el camino facil seria cojer cualquier ejemplo de los que hay por ahi o este mismo que me habeis pasado, y cambiarle los sprites por los mios y ya esta,pero quiero y necesito saber como se hace y porque.

Entonces, ya no con la intencion de avanzar en mi proyecto,sino para aprender realmente como se hace, he simplificado un nuevo archivo de gm8 y he puesto solamente dos soldados.A cada soldado
en su step le he puesto este codigo
[gml]keyW=keyboard_check(ord("W"))
keyS=keyboard_check(ord("S"))
keyA=keyboard_check(ord("A"))
keyD=keyboard_check(ord("D"))
keyQ=keyboard_check(ord("Q"))
keyE=keyboard_check(ord("E"))
keyShift=keyboard_check(vk_shift)
keySpace=keyboard_check(vk_space)
keyEnter=keyboard_check(vk_enter)

if(keyW)     //avanzar
{
speed=1;}

else

if(keyS)     //retroceder
{
speed=-1;}

else

speed =0

if(keyA){   //rotar izquierda
direction+=2
image_angle=direction
}

if(keyD){   //rotar derecha
direction-=2
image_angle=direction
}
[/gml]

con lo cual con las teclas w,s,a,d  los dos soldados se mueven.
quisiera saber (si no es mucho pedir) por donde empezar para que solo se mueva el primero(cuando apreto las teclas) y cuando aprete al enter sea el otro el que se mueva y asi succesivamente.......seguramente esto sea lo mas facil del mundo pero a mi, parece que no me queda claro si no se me explica paso a paso  :'( .Un saludo
Título: Re: turnos a 24 players
Publicado por: Texic en Diciembre 19, 2010, 08:55:30 PM
Met? todo ese c?digo dentro de una condicional que diga
[gml]if global.turno=miturno {
//el codigo ese
}
if keyboard_check(vk_enter) {global.turno+=1}
if global.turno>maxturno {global.turno=1}  //Maxturno ser?a en este caso 2, en el de 24 ser?a 24, es el ?ltimo turno de todos[/gml]
Y en el create declar?s la variable miturno como el turno que va a agarr?r el objeto, en este caso s?lo est?n el 1 y 2
Título: Re: turnos a 24 players
Publicado por: unbleached en Diciembre 19, 2010, 09:22:08 PM
me dice esto
ERROR in
action number 1
of  Step Event
for object lider_1a1:

Error in code at line 2:
   if global.turno=miturno {
             ^
at position 12: Unknown variable turno

adjunto lo que hice a ver que estoy haciendo mal.Igualmente mil gracias
Título: Re: turnos a 24 players
Publicado por: Texic en Diciembre 19, 2010, 09:46:24 PM
Esas variables hay q declararlas en alg?n lado, en este caso te las declar? en el c?digo de creaci?n del room
Título: Re: turnos a 24 players
Publicado por: unbleached en Diciembre 19, 2010, 09:57:41 PM
tremendo Texic mil gracias ahora lo entiendo...enserio mil gracias.saludos y toma karma ;)