Página 29 de 35

Re: Mi primer juego: Sami troid

Publicado: Vie, 07 Feb 2014, 12:29
por son_link
Joder, ya estoy dándole vueltas para ver como puedo aprovechar los 318 bites que me quedan y se me a ido la olla
¿como puedo implementar un cuarto enemigo? y ¿podría tener otros puntos de vida distintos para meterle con final boss?
Eso si, ese jefe no lo rebelare de momento :jias:

Re: Mi primer juego: Sami troid

Publicado: Vie, 07 Feb 2014, 13:26
por na_th_an
Meter un cuarto enemigo, ¿te refieres a un sprite diferente?

Re: Mi primer juego: Sami troid

Publicado: Vie, 07 Feb 2014, 13:28
por son_link
$this->bbcode_second_pass_quote('na_th_an', 'M')eter un cuarto enemigo, ¿te refieres a un sprite diferente?

Si, el cuarto ya que no uso las plataformas móviles en el juego

Re: Mi primer juego: Sami troid

Publicado: Vie, 07 Feb 2014, 13:40
por na_th_an
Vale, entonces sí.

Si fuese añadir uno más, no te cabría. Necesitas 288 bytes sólo para el gráfico y reservar 10 bloques más para moverlo (140 bytes más).

Pero si lo que quieres es convertir la plataforma en un enemigo diferente, puedes hacerlo fácilmente modificando engine.h. Te adjunto el archivo modificado.

OJO: No lo puedo probar. Pero debería funcionar.

He hecho dos cosas:
- He eliminado el código de las plataformas. Esto significa que ahora te quedará bastante más espacio libre.
- He hecho que el enemigo de tipo 4 pueda tener diferente número de puntos de vida. Para establecerlo, edita este trozo en engine.h (linea 418):

$this->bbcode_second_pass_code('', ' if (malotes [gpit].t == 4) {
malotes [gpit].life = 5;
} else {
malotes [gpit].life = ENEMIES_LIFE_GAUGE;
}')

O sea, que ahora puedes usar el 4º enemigo (plataforma) como enemigo especial, con un diferente número de puntos de vida (por defecto he puesto que 5).

Repito: es posible que haya metido la pata, pero debería ir.

Re: Mi primer juego: Sami troid

Publicado: Vie, 07 Feb 2014, 14:19
por son_link
Lo pruebo y te digo, de hecho iré directamente a la pantalla donde estará. Eso si, en otro tap para que no se vea la sorpresa hasta que el juego sea lanzado :jias:

Re: Mi primer juego: Sami troid

Publicado: Vie, 07 Feb 2014, 14:48
por son_link
Pues no funciona bien, el bicho no se quiere morir :bronca: :lol:

Re: Mi primer juego: Sami troid

Publicado: Vie, 07 Feb 2014, 16:33
por na_th_an
Prueba ahora. Faltaba una cosa por modificar.

Re: Mi primer juego: Sami troid

Publicado: Vie, 07 Feb 2014, 17:10
por son_link
Ok, ya se le puede matar. Y otra pregunta, y perdón si estoy plasta :poke: ¿como hago para que cuando lo mate se acabe el juego o pueda ir hasta la puerta que tiene que ir para finalizar?
No tiene gracia si lo esquiva y va hasta la puerta :jias:

Re: Mi primer juego: Sami troid

Publicado: Vie, 07 Feb 2014, 17:34
por na_th_an
Eso ya es más complicado. Habría que ponerle un parche al motor para comprobar que se muere ese enemigo en concreto, o algo parecido.

Se puede colocar un if en el bucle principal que compruebe que la energía de ese enemigo en concreto es 0 para terminar el juego o para hacer lo que sea (por ejemplo, poner a 1 un flag que puedas usar en el script para hacer lo que quieras), pero tendría que saber qué número de pantalla es y qué número de enemigo (0, 1 o 2) ocupa ese enemigo en la pantalla.

Sería colocar, en mainloop.h, por ejemplo debajo de la llamada que hay a "mueve_bicharracos ()", algo así:

$this->bbcode_second_pass_code('', 'if (malotes [enoffs + N] == 0) flags [10] = 1;')

Siendo N el valor del enemigo, 0, 1 o 2 (dependerá del orden en el que lo pusiste en la pantalla con el colocador). Eso hará que el flag 10 se ponga a 1 cuando muera ese enemigo en concreto.

Luego, en tu script, en la pantalla de la puerta, puedes comprobar al entrar que ese flag 10 vale 1 para abrirla.

¿El enemigo está en la misma pantalla de la puerta? Porque si es así, hay que ahcer más cosas.

Re: Mi primer juego: Sami troid

Publicado: Vie, 07 Feb 2014, 17:45
por son_link
Si, esta en la misma pantalla, la 0 para ser mas exactos