Control-de-Enemigos

1) Estructuras y tipos:

Posicion

  • x
  • y

Enemigo

  • id
  • nombre
  • vida
  • posicion

ListaEnemigos

  • enemigo
  • siguienteEnemigo

2) Programar una función que me permita crear e inicializar un enemigo(nodo)

enemigo crear_enemigo(id, nombre, vida, posicion);

Los enemigos tendrán los siguientes datos:

  • id = un número irrepetible.
  • nombre = "enemigo" + n + 1
  • vida = 100
  • posicion=(x = n + 1, y = n + 1)

3) Programar una función que me permita agregar un enemigo a una lista de enemigos

void agregar_enemigo(lista, enemigo);

4) Programar una función que me permita saber cuantos enemigos tengo en una lista.

int numero_enemigos(lista);

5) Programar una función que me permita eliminar un enemigo de la lista indicando su id.

retorno eliminar_enemigo(id);

El valor de retorno 0 = satisfactorio, 1 = hubo algún error

6) Programar una función que me permita eliminar una lista de enemigos.

void eliminar(lista);

7) Programar una función que me permita imprimir por consola los datos de un enemigo indicando su id.

void imprimir_enemigo(id);

8) Programar una función que me permita imprimir por consola los datos de todos los enemigos.

void imprimir_enemigos(lista);

9) Programar una función que me permita buscar y retornar su dirección de nodo de una lista

enemigo buscar_enemigo(lista);

Caso contrario retornará NULL.

10) Programar una función que me permita invertir el orden de los enemigos en una lista

void invertir_lista(lista);

Por ejemplo: 0, 1,2,3,4,5 -> 5, 4, 3, 2, 1, 0