#include<stdio.h>
#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
void main()
{textmode(64);clrscr();
clrscr();
int n,b=2,z=0,v=15,l=15;cout<<"enter a number between 8 & 36:";cin>>n;
if(n>35||n<8) {clrscr();cout<<"enter a number between 8 & 36:";cin>>n; }int q=n/2;n=q*2;clrscr();
int x=0,y=0,i=0,j=0,mabdax=40-q,mabday=25-q;
gotoxy(mabdax,mabday); for(i=0;i<n;i++) {cprintf("+");}
for(i=1;i<n-1;i++) {gotoxy(mabdax+n-1,mabday+i);cprintf("+");}
for(i=1;i<n-1;i++) {gotoxy(mabdax,mabday+i);cprintf("+");}
gotoxy(mabdax,mabday+i); for(i=0;i<n;i++) {cprintf("+");}
gotoxy(40-q+1,25-q+1);
for(j=0;j<b;j++) {for(i=0;i<b;i++) {gotoxy(40-q+(1+(x+i)%(n-2)),25-q+(1+(y+j)%(n-2)));cprintf("*");}i=0;} gotoxy(40-q,25-q);
while(1)
{ int c=getch();int m=0; textbackground(z);textcolor(l);
if(c==59) {clrscr();z=rand()%16;textbackground(z);clrscr();m=1;}
if(c==60){clrscr();v=rand()%16;clrscr();m=1;}
if(c==61){clrscr();l=rand()%16;clrscr();m=1;}
if(c==27) break;
if(c==62) {clrscr();b++;m=1;
if(b>=n-4) b=n-4;}
if(c==63) {clrscr();b--;m=1;
if(b<=1) b=1;}
if(c==77) { if(x++>40-q+n-3) x=40-q;clrscr(); m=1;}
if(c==75) {if(x--<40-q) x=40-q+n-3;clrscr(); m=1;}
if(c==72) {if(y--<25-q) y=25-q+n-3;clrscr(); m=1;}
if(c==80) {if(y++>25-q+n-2) y=25-q+2;clrscr(); m=1;}
if(m==1)
{textcolor(l);
gotoxy(40-q,25-q);
gotoxy(mabdax,mabday); for(i=0;i<n;i++) {cprintf("+");}
for(i=1;i<n-1;i++) {gotoxy(mabdax+n-1,mabday+i);cprintf("+");}
for(i=1;i<n-1;i++) {gotoxy(mabdax,mabday+i);cprintf("+");}
gotoxy(mabdax,mabday+i); for(i=0;i<n;i++) {cprintf("+");}
textcolor(v);
for(j=0;j<b;j++) {for(i=0;i<b;i++) {gotoxy(40-q+(1+(x+i)%(n-2)),25-q+(1+(y+j)%(n-2)));cprintf("*");}i=0; gotoxy(40-q,25-q);
}
gotoxy(1,49);textbackground(7);
textcolor(RED); cprintf("ESC ");textcolor(0);cprintf("EXIT ");
textcolor(RED); cprintf("F1 ");textcolor(0);cprintf("BG COLOR ");
textcolor(RED); cprintf("F2 ");textcolor(0);cprintf("TXT COLOR ");
textcolor(RED); cprintf("F3 ");textcolor(0);cprintf("SIDES COLOR ");
textcolor(RED); cprintf("F4 ");textcolor(0);cprintf("CUBE ++ ");
textcolor(RED); cprintf("F5 ");textcolor(0);cprintf("CUBE --");
}
}
}