void agregarEnemigo(int idEnemigo, coordenada_t* posicion) { do { coordenadaRandomEjes(posicion, col, fil); } while (!validarPosicionEnemigo(posicion) && !coordenadasIgualesInt(posicion, 0, 0)); CrearEnemigo(listaEnemigos, '*', posicion->ejeX, posicion->ejeY, idEnemigo); log_info(logFile, "Enemigo: %d, creado en posicion (%d, %d) ", idEnemigo, posicion->ejeX, posicion->ejeY); }
t_enemigo * crearseASiMismo(int id){ bool igualACeroCero; t_enemigo * enemigo; while(1){ enemigo = enemigo_create(id); igualACeroCero = (enemigo->posicion->posX == 0 && enemigo->posicion->posY == 0); if(!igualACeroCero) break; } list_add(listaDeEnemigos, enemigo); pthread_mutex_lock(&mx_lista_items); CrearEnemigo(items,enemigo->id, enemigo->posicion->posX, enemigo->posicion->posY); //cuidado con esto, el enemigo deberia tener id individuales pthread_mutex_unlock(&mx_lista_items); if(graficar){ pthread_mutex_lock(&mx_lista_items); nivel_gui_dibujar(items,nombre); pthread_mutex_unlock(&mx_lista_items); } return enemigo; }