Finalizar juego al recolectar 4 objetos (tiles) diferentes

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

Re: Finalizar juego al recolectar 4 objetos (tiles) diferentes

Mensajepor na_th_an » Lun, 17 Mar 2014, 13:18

Para eso utilizas PRINT_TILE_AT, que sirve para imprimir un tile donde queramos, y nada más (SET_TILE lo que hace es modificar el area de juego, a todos los efectos, colisiones incluidas. PRINT_TILE_AT solo imprime, y no estamos limitados al área de juego):

$this->bbcode_second_pass_code('', 'PRINT_TILE_AT (x, y) = t')

Donde x e y son coordeandas de caracter, por toda la pantalla del spectrum. x va de 0 a 30 e y de 0 a 22.
Como diría Rorshach: "Urm..."
Avatar de Usuario
elborra
Mensajes: 209
Registrado: Dom, 12 Ene 2014, 14:37

Re: Finalizar juego al recolectar 4 objetos (tiles) diferentes

Mensajepor elborra » Lun, 17 Mar 2014, 13:32

$this->bbcode_second_pass_quote('Fabio', 'L')ogre que cuando paso por encima del objeto este se borra del mapa. Ahora bien, como hago para que en simultaneo se dibuje en la parte inferior de la pantalla, para que el jugador sepa que ya lo recolecto?. Con el SET TILE (x, y) = algo no funciona ya que estoy fuera de la pantalla del juego.
SET_TILE pinta dentro de la zona de juego. Si no me equivoco estabas llevando los objetos por tu cuenta (es decir que no usas el tipo objeto del juego), así que en tu caso para imprimir un tile fuera de la zona de juego después de recogerlo es usar en el script EXTERN n, y ya desde el fichero extern.h usar por ejemplo$this->bbcode_second_pass_code('', 'draw_coloured_tile (x, y, tile);')donde x e y representan porciones de 8 pixels. Así draw_coloured_tile (4, 16, 21); pintará el tile 21 en x=32 e y=128

Edito: PRINT_TILE_AT... Estoy tonto, yo ya me obceco tanto con programar con c que se me olvidan cosas del scripting :'(
Última edición por elborra el Mar, 18 Mar 2014, 10:25, editado 1 vez en total.