#include <stdio.h>
#include <stdlib.h>

#define MAXX 40
#define MAXY 20
#define MAXTAM 20

typedef struct{
	int tamano;
	char **coord;
}Pantalla;


Pantalla pantalla;

int crearPantalla(int tam){
	int i;
	pantalla.tamano = tam;
	pantalla.coord = (char **)malloc( tam * tam * sizeof(char) );
	for (i=0; i<tam; i++) {
		pantalla.coord[i]  = (char *)malloc(tam*sizeof(char));
	}
	return 0;
}

void limpiarPantalla(){
	int i, j;

	for (i=0; i<pantalla.tamano; i++){
		for(j=0; j<pantalla.tamano; j++){
			pantalla.coord[i][j] = ' ';
		}
	}
}

void llenarPantalla(){
	int i, j;

	for (i=0; i<pantalla.tamano; i++){
		for(j=0; j<pantalla.tamano; j++){
			pantalla.coord[i][j] = '*';
		}
	}
}

void imprimirPantalla(){
	int i, j;

	for (i=0; i<pantalla.tamano; i++){
		for(j=0; j<pantalla.tamano; j++){
			printf("%c", pantalla.coord[i][j]);
		}
		printf("\n");
	}
}

int cuadrado(int lado, int x, int y){
	int i, j;
	for(i=x; i<x+lado; i++){
		for(j=y; j<y+lado; j++){
			pantalla.coord[i][j] = ' ';
		}
	}
}

int main(){
	int num, i, l,z,w;
	printf("Introduzca el tamano de la pantalla: ");
	scanf("%i", &num);
	printf("Introduzca el lado y las coords: ");
	scanf("%i %i %i", &l, &z, &w);
	crearPantalla(num);
	system("clear");
	llenarPantalla();
	for(i=z; i<num-l; i++){
		cuadrado(l,z,i);
		system("clear");
		imprimirPantalla();
		llenarPantalla();
		sleep(1);
	}

}

