tad_nivel.h - sisoputnfrba/so-nivel-gui-library GitHub Wiki
Uso básico
Inicialización
Para inicializar la estructura, invocar la función:
NIVEL* nivel_crear(char* nombre);
Manejo de items
Existen tres tipos de items para ser creados y añadidos al nivel:
Personaje
Un personaje es un ítem color negro, cuyo caracter mostrado por pantalla es su id. Se puede crear usando:
int personaje_crear(NIVEL* nivel, char id, int x , int y);
Enemigo
Un personaje es un ítem color azul, cuyo caracter mostrado por pantalla es siempre '*'
. Se puede crear usando:
int enemigo_crear(NIVEL* nivel, char id, int x, int y);
Caja
Un personaje es un ítem color amarillo, cuyo caracter mostrado por pantalla es siempre '*'
. Tiene la particularidad de añadirle una cierta cantidad de recursos, la cual debe ser siempre un número entero positivo o cero. Se puede crear usando:
int caja_crear(NIVEL* nivel, char id, int x, int y, int srcs);
Además, se pueden agregar y quitar elementos de la caja utilizando:
int caja_quitar_recurso(NIVEL* nivel, char id);
int caja_agregar_recurso(NIVEL* nivel, char id);
Movimiento de items
Se puede modificar la posición de los ítems ya sea en valor absoluto o relativo respecto a su posición actual utilizando:
int item_mover(NIVEL* nivel, char id, int x, int y);
int item_desplazar(NIVEL* nivel, char id, int offset_x, int offset_y);
Choques entre items
Se puede verificar si dos ítems se encuentran en la misma posición mediante:
bool items_chocan(NIVEL* nivel, char id1, char id2);
Eliminación de items
Cualquier item del nivel se puede borrar del mismo mediante:
int item_borrar(NIVEL* nivel, char id);
Aclaración: No hace falta invocar esta función antes de nivel_destruir
, ya que esta última se encarga de borrar todos los ítems que se encuentren en el nivel.
Finalización
Para la liberar los recursos utilizados por la estructura nivel (y sus items, en caso de tenerlos) se debe invocar a:
void nivel_destruir(NIVEL* nivel);
Manejo de errores
Las funciones cuyo retorno es de tipo int devuelven NGUI_SUCCESS
si hubo éxito o un valor distinto de NGUI_SUCCESS
si no se pudo completar la operación. Para consultar una breve descripción del error en formato string se deberá invocar:
char* nivel_gui_string_error(int errnum);
Para ver una descripción detallada de cada función y los errores que puede retornar, revisar tad_nivel.h.