#include <SDL/SDL.h>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include "Enemigo.h"

Enemigo::Enemigo(char * path, char * path2, int xx, int yy, int sx, int sy)
{
	//imagen=IMG_Load (path);
	//imagen=IMG_Load(path);
	setimagenActiva(1);
	
	int colorkey;
	
	imagen=SDL_LoadBMP(path);
	if (imagen == NULL)
	{
		printf ("La imagen no se ha podido cargar correctamente  /n");		
	}
	colorkey = SDL_MapRGB(imagen->format,255,255,255);
	SDL_SetColorKey(imagen,SDL_SRCCOLORKEY,colorkey);
	
	imagen2=SDL_LoadBMP(path2);
	if (imagen2 == NULL)
	{
		printf ("La imagen no se ha podido cargar correctamente  /n");		
	}
	colorkey = SDL_MapRGB(imagen2->format,255,255,255);
	SDL_SetColorKey(imagen2,SDL_SRCCOLORKEY,colorkey);
	
	
	
	posX=posicion.x=xx;
	posY=posicion.y=yy;
	posicion.w=imagen->w;
    posicion.h=imagen->h;
	
	speedX=sx;
	speedY=sy;	
}

Enemigo::~Enemigo()
{
	SDL_FreeSurface(imagen);
	SDL_FreeSurface(imagen2);
}

void Enemigo::Dibujar(SDL_Surface* fondo)
{
	
	SDL_BlitSurface(fondo, &anterior, fondo, &anterior);
	SDL_BlitSurface(imagen, NULL, fondo, &posicion);
}


void Enemigo::Actualizar(float time)
{
	SDL_Surface *aux;
	anterior = posicion;
	posX += speedX*time;
	posicion.x = posX;
	

	posicion.y+= (int) (20*sin(speedY));
	if (speedY != 0)
	speedY ++	;
	sumaimagen();
	if (imagenActiva > 5)
	{
		aux = imagen;
		imagen = imagen2;
		imagen2 = aux;
		imagenActiva =0;
	}
}


void Enemigo::setimagenActiva (int ima)
{
	imagenActiva = ima;
}

void Enemigo::sumaimagen()
{
	imagenActiva ++;
}
