#include<iostream.h>
#include<graphics.h>
#include<stdlib.h>
#include<dos.h>
#include<conio.h>
#define UP 72
#define DOWN 80
#define LEFT 75
#define RIGHT 77
#define ESC 27
void main()
{
clrscr();
int gd=0,gm,i,j,k,x,y,a[8];
int x1,y1;
initgraph(&gd,&gm,"");
randomize();
char *aa;
for(i=1;i<=8;i++)
{
start:
j=random(8)+1;
for(k=1;k<=i;k++)
if(a[k]==j)
goto start;
a[i]=j;
}
char c[10];
i=1;
for(x=100,y=100;x<=300;x+=100)
{
for(y=100;y<=300;y+=100)
{
itoa(i,c,10);
setcolor(GREEN);
setlinestyle(0,0,3);
rectangle(x,y,x+100,y+100);
rectangle(x+20,y+20,x+80,y+80);
if(i<=8)
{
setfillstyle(1,YELLOW);
floodfill(x+30,y+30,GREEN);
setcolor(RED);
setlinestyle(0,0,3);
circle(x+45,y+45,10);
setfillstyle(1,RED);
floodfill(x+45,y+45,RED);
setcolor(BLUE);
outtextxy(x+43,y+43,c);
}
i++;
}
}
setcolor(BLUE);
setlinestyle(0,1,3);
rectangle(320,320,380,380);
x=320,y=320;
char z;
while(1)
{
while(kbhit())
{
z=getch();
setlinestyle(0,1,3);
setcolor(GREEN);
rectangle(x,y,x+60,y+60);
if(z==UP)
{
if(y>120)
y-=100;
}
else if(z==DOWN)
{
if(y<320)
y+=100;
}
else if(z==LEFT)
{
if(x>120)
x-=100;
}
else if(z==RIGHT)
{
if(x<320)
x+=100;
}
else if (z==ESC)
{
exit(0);
}
else if(z==' ')
{
x1=x+30,y1=y+30;
if(getpixel(x1,y1)==RED)
{ //putpixel(x1,y1,YELLOW);
if(getpixel(x1,y1+100)==BLACK&&y<320)
{
getimage(x+10,y+10,x+40,y+40,aa);
setfillstyle(1,BLACK);
floodfill(x+10,y+10,GREEN);
setfillstyle(1,YELLOW);
floodfill(x+10,y+120,GREEN);
putimage(x+10,y+110,aa,0);
}
else if(getpixel(x1,y1-100)==BLACK&&y>200)
{
getimage(x+10,y+10,x+40,y+40,aa);
setfillstyle(1,BLACK);
floodfill(x+10,y+10,GREEN);
setfillstyle(1,YELLOW);
floodfill(x+10,y-90,GREEN);
putimage(x+10,y-90,aa,0);
}
else if(getpixel(x1-100,y1)==BLACK&&x>120)
{
getimage(x+10,y+10,x+40,y+40,aa);
setfillstyle(1,BLACK);
floodfill(x+10,y+10,GREEN);
setfillstyle(1,YELLOW);
floodfill(x-90,y+10,GREEN);
putimage(x-90,y+10,aa,0);
}
else if(getpixel(x1+100,y1)==BLACK&&x<320)
{
getimage(x+10,y+10,x+40,y+40,aa);
setfillstyle(1,BLACK);
floodfill(x+10,y+10,GREEN);
setfillstyle(1,YELLOW);
floodfill(x+110,y+10,GREEN);
putimage(x+110,y+10,aa,0);
}
}
}
}
setcolor(BLUE);
setlinestyle(0,0,3);
rectangle(x,y,x+60,y+60);
}
getch();
}
No comments :
Post a Comment