function cargar_enemigos()
	pre_enem(0)=cargar_modelo("media\mon1.x")
	pre_enem(1)=cargar_modelo("media\mon2.x")
	pre_enem(2)=cargar_modelo("media\mon3.x")
	
	hide object pre_enem(0)
	hide object pre_enem(1)
	hide object pre_enem(2)
endfunction
 
function crear_enemigo(cx,cz,tipo)
	for i = 0 to 50
		if enemigos(i).activo=0 then exit
	next i
	
	enemigos(i).activo=1
	
	if tipo=1
			enemigos(i).objeto=clonar_modelo(pre_enem(0))
			enemigos(i).tipo=1
			enemigos(i).sentido=1+rnd(3)
			enemigos(i).vel=3
	endif
	
	if tipo=2
			enemigos(i).objeto=clonar_modelo(pre_enem(1))
			enemigos(i).tipo=2
			enemigos(i).sentido=1+rnd(3)
			enemigos(i).vel=4.5
	endif
	
	if tipo=3
			enemigos(i).objeto=clonar_modelo(pre_enem(2))
			enemigos(i).tipo=3
			enemigos(i).sentido=1+rnd(3)
			enemigos(i).vel=6
	endif
	
	enemigos(i).posx=cx*16
	enemigos(i).posz=cz*-16
endfunction
 
 function controla_enemigos()
 	for i = 0 to 50
		if enemigos(i).activo=1
			cx=get_cuadro(enemigos(i).posx)
			cz=get_cuadro(enemigos(i).posz)
			
			ix#=enemigos(i).posx
			iz#=enemigos(i).posz
		
	
	REM MOVIMIENTO
	select enemigos(i).sentido
		case 1:
			enemigos(i).posz=enemigos(i).posz-(enemigos(i).vel*DT#)
			rotate object enemigos(i).objeto,0,180,0
		endcase
		
		case 2:
			enemigos(i).posz=enemigos(i).posz+(enemigos(i).vel*DT#)	
			rotate object enemigos(i).objeto,0,0,0		
		endcase
		
		case 3:
			enemigos(i).posx=enemigos(i).posx-(enemigos(i).vel*DT#)
			rotate object enemigos(i).objeto,0,270,0			
		endcase
				
		case 4:
			enemigos(i).posx=enemigos(i).posx+(enemigos(i).vel*DT#)	
			rotate object enemigos(i).objeto,0,90,0			
		endcase
	endselect
	
	position object enemigos(i).objeto,enemigos(i).posx,0,enemigos(i).posz
	
	REM DETECCION DE COLISIONES POR AREA (LENTO PERO SEGURO!)
		for t = 0 to 4
			col_tiles(t)=0
		next	t

		col_tiles(0)=cuadros(cz,cx).objeto
		if cx+1<=34 then col_tiles(1)=cuadros(cz,cx+1).objeto else col_tiles(1)=-1
		if cx-1>=0 then col_tiles(2)=cuadros(cz,cx-1).objeto else col_tiles(2)=-1
		if cz+1<=12 then col_tiles(3)=cuadros(cz+1,cx).objeto else col_tiles(3)=-1
		if cz-1>=0 then col_tiles(4)=cuadros(cz-1,cx).objeto else col_tiles(4)=-1

		for t = 0 to 4
			if col_tiles(t)>0
				if distancia(col_tiles(t),enemigos(i).objeto) < 14
					col=1 : exit
				endif
			endif
		next i

		for t = 0 to 10
			if bombas(t).activa=1
				if distancia(bombas(t).objeto,enemigos(i).objeto) < 15
					col=1
				endif
			endif
		next t
		
		if enemigos(i).posx<0 or enemigos(i).posx>544
			col=1
		endif
		
		if enemigos(i).posz>0 or enemigos(i).posz<-192
			col=1
		endif
		
		if distancia(enemigos(i).objeto,jugador(1).objeto)<14
			matar_jugador()
		endif
		
		for t=0 to 200
			if explos(t).activa=1 and explos(t).cuadro<11
				if distancia(explos(t).objeto,enemigos(i).objeto)<8
					matar_enemigo(i)
				endif
			endif
		next t
		

		if col=1
			enemigos(i).posx=ix#
			enemigos(i).posz=iz#

			if enemigos(i).tipo=1 or enemigos(i).tipo=3
				enemigos(i).sentido=elije_sentido()
			else
				enemigos(i).sentido=elije_sentido()
			endif
			REM CORRIJO
			position object enemigos(i).objeto,enemigos(i).posx,0,enemigos(i).posz
			col=0
		endif

		else
			rem si esta muerto fadear
			if enemigos(i).fading>0 and enemigos(i).objeto>0
				enemigos(i).fading=enemigos(i).fading-(DT#*5)
				fade object enemigos(i).objeto,enemigos(i).fading
				if enemigos(i).fading<10
					hide object enemigos(i).objeto
					delete object enemigos(i).objeto
					enemigos(i).objeto=0
				endif
			endif
 	
		endif
 	next i
 	
 endfunction
 
 function matar_enemigo(i)
 	enemigos(i).activo=0
 	enemigos(i).fading=100
 	ghost object on enemigos(i).objeto,0
 endfunction
 
 function cuenta_enemigos()
 	for i = 0 to 50
 		if enemigos(i).activo=1
 			inc cant
 		endif
 	next i

 endfunction cant
 

 function elije_sentido()
	rebuscar:
	num=1+rnd(3)
	
	if col_test(num)=0
		valor=num
	else
		goto rebuscar
	endif
	
 endfunction valor

 
 