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.