El hilo de las modificaciones a la Churrera

For all things Churrera. ¿Estás haciendo un juego? ¿quieres proponer un cambio? ¿tienes alguna duda? ¡Cuéntanoslo!

Moderador: na_th_an

Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

El hilo de las modificaciones a la Churrera

Mensajepor na_th_an » Mié, 18 Sep 2013, 11:11

Iré subiendo en este hilo modificaciones fáciles de hacer al motor de la Churrera que puedan servir de algo a gente que esté haciendo sus propios güegos. La Churrera es muy configurable, pero hay cosas que no se pueden hacer de entrada, pero que son fáciles de añadir y/o modificar.
Como diría Rorshach: "Urm..."
Avatar de Usuario
na_th_an
Mensajes: 26413
Registrado: Vie, 09 Ene 2009, 12:18

Re: El hilo de las modificaciones a la Churrera

Mensajepor na_th_an » Mié, 18 Sep 2013, 11:17

fjpoyato pregunta por el siguiente cambio:
$this->bbcode_second_pass_quote('fjpoyato', 'H')ola, quería preguntar cómo se hace para aumentar las vidas o energía cuando te toca un enemigo (al revés, de 1 a 15) y para disminuir las vidas en lugar de recargarlas, es que tengo pensado un juego para esto, no es broma. Felicidades por este estupendo tutorial, un saludo :-)


En un principio había pensado en modificar toda la gestión de vidas de la Churrera (inicialización, decremento e incremento, condición de Game Over) cuando me he dado cuenta de que es mucho más fácil timar al jugador. En lugar de mostrarle el número de vidas, se le mostrará PLAYER_LIFE - numero de vidas, con lo que se empezará en 0 y se terminará en el máximo. Cuando se pierda una vida parecerá que se gana y cuando se coja una recarga parecerá que se pierde.

Para realizar esta modificación, no hay más que tocar mainloop.h, a partir de la linea 193 (puede que cambie la linea si actualizamos la versión, busca algo parecido a esto):

$this->bbcode_second_pass_code('', 'if (player.life != life_old) {
print_number2 (LIFE_X, LIFE_Y, player.life);
life_old = player.life;
}')

Debería quedar así:

$this->bbcode_second_pass_code('', 'if (player.life != life_old) {
print_number2 (LIFE_X, LIFE_Y, PLAYER_LIFE - player.life);
life_old = player.life;
}')

Con esto, se consigue el efecto que se quería.
Como diría Rorshach: "Urm..."