#include <conio.h>
#include <dos.h>
#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void
outline()
{
int
u = 400;
rectangle(700, 300, 1000, 900);
line(800, 300, 800, 900);
line(900, 300, 900, 900);
while
(u <= 900) {
line(700, u, 1000, u);
u = u + 100;
}
settextstyle(10, 0, 3);
outtextxy(20, 100,
"FOR MOVE LEFT PRESS 'l'"
);
outtextxy(20, 200,
"FOR MOVE RIGHT PRESS 'r'"
);
outtextxy(20, 300,
"FOR MOVE MIDDLE PRESS 'm'"
);
}
void
main()
{
int
gd = DETECT, gm;
initgraph(&gd, &gm,
"C:\\turboc3\\bgi"
);
int
a = 800, b = 50, c = 900, d = 150,
x, left[10], right[10], mid[10],
up = 5, low = 2, lb = 900, mb = 900,
rb = 900, i = 0, j = 0, k = 0,
score = 0, p;
char
z, str[3];
outline();
while
(1) {
settextstyle(8, 0, 2);
outtextxy(800, 10,
"Brick Box"
);
rectangle(a, b, c, d);
x = (
rand
() % (up - low + 1)) + low;
setfillstyle(SOLID_FILL, x);
floodfill(a + 5, d - 5, 15);
z = getch();
if
(z ==
'l'
) {
settextstyle(8, 0, 2);
outtextxy(630, 10,
"Left Sub-Box"
);
rectangle(a - 150, b, c - 150, d);
floodfill(a - 55, d - 5, 15);
delay(200);
setfillstyle(SOLID_FILL, BLACK);
floodfill(a - 55, d - 5, 15);
rectangle(a - 100, lb - 100,
c - 100, lb);
setfillstyle(SOLID_FILL, x);
floodfill(a - 5, lb - 5, 15);
delay(200);
lb = lb - 100;
left[i] = x;
i++;
if
(left[0] == left[1]) {
lb = 900;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a - 5, lb - 5, 15);
floodfill(a - 5, lb - 105, 15);
score = score + 10;
i = 0;
left[1] = 0;
}
else
if
(left[1] == left[2]) {
lb = 800;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a - 5, lb - 5, 15);
floodfill(a - 5, lb - 105, 15);
score = score + 10;
i = 1;
left[2] = 0;
}
else
if
(left[2] == left[3]) {
lb = 700;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a - 5, lb - 5, 15);
floodfill(a - 5, lb - 105, 15);
score = score + 10;
i = 2;
left[3] = 0;
}
else
if
(left[3] == left[4]) {
lb = 600;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a - 5, lb - 5, 15);
floodfill(a - 5, lb - 105, 15);
score = score + 10;
i = 3;
left[4] = 0;
}
else
if
(left[4] == left[5]) {
lb = 500;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a - 5, lb - 5, 15);
floodfill(a - 5, lb - 105, 15);
score = score + 10;
i = 4;
left[5] = 0;
}
else
p = 0;
if
(lb < 400)
break
;
}
else
if
(z ==
'r'
) {
settextstyle(8, 0, 2);
outtextxy(970, 10,
"Right Sub-Box"
);
rectangle(a + 150, b, c + 150, d);
floodfill(a + 155, d - 5, 15);
delay(200);
setfillstyle(SOLID_FILL, BLACK);
floodfill(a + 155, d - 5, 15);
rectangle(a + 100, rb - 100,
c + 100, rb);
setfillstyle(SOLID_FILL, x);
floodfill(a + 105, rb - 5, 15);
delay(200);
rb = rb - 100;
right[j] = x;
j++;
if
(right[0] == right[1]) {
rb = 900;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a + 105, rb - 5, 15);
floodfill(a + 105, rb - 105, 15);
score = score + 10;
j = 0;
right[1] = 0;
}
else
if
(right[1] == right[2]) {
rb = 800;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a + 105, rb - 5, 15);
floodfill(a + 105, rb - 105, 15);
score = score + 10;
j = 1;
right[2] = 0;
}
else
if
(right[2] == right[3]) {
rb = 700;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a + 105, rb - 5, 15);
floodfill(a + 105, rb - 105, 15);
score = score + 10;
j = 2;
right[3] = 0;
}
else
if
(right[3] == right[4]) {
rb = 600;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a + 105, rb - 5, 15);
floodfill(a + 105, rb - 105, 15);
score = score + 10;
j = 3;
right[4] = 0;
}
else
if
(right[4] == right[5]) {
rb = 500;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a + 105, rb - 5, 15);
floodfill(a + 105, rb - 105, 15);
score = score + 10;
j = 4;
right[5] = 0;
}
else
p = 0;
if
(rb - 100 < 300)
break
;
}
else
{
rectangle(a, mb - 100, c, mb);
floodfill(a + 5, mb - 5, 15);
delay(200);
mb = mb - 100;
mid[k] = x;
k++;
if
(mid[0] == mid[1]) {
mb = 900;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a + 5, mb - 5, 15);
floodfill(a + 5, mb - 105, 15);
score = score + 10;
k = 0;
mid[1] = 0;
}
else
if
(mid[1] == mid[2]) {
mb = 800;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a + 5, mb - 5, 15);
floodfill(a + 5, mb - 105, 15);
score = score + 10;
k = 1;
mid[2] = 0;
}
else
if
(mid[2] == mid[3]) {
mb = 700;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a + 5, mb - 5, 15);
floodfill(a + 5, mb - 105, 15);
score = score + 10;
k = 2;
mid[3] = 0;
}
else
if
(mid[3] == mid[4]) {
mb = 600;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a + 5, mb - 5, 15);
floodfill(a + 5, mb - 105, 15);
score = score + 10;
k = 3;
mid[4] = 0;
}
else
if
(mid[4] == mid[5]) {
mb = 500;
setfillstyle(SOLID_FILL, BLACK);
floodfill(a + 5, mb - 5, 15);
floodfill(a + 5, mb - 105, 15);
score = score + 10;
k = 4;
mid[5] = 0;
}
else
p = 0;
if
(mb - 100 < 300)
break
;
}
delay(200);
sprintf
(str,
"%d"
, score);
outtextxy(100, 600,
"SCORE: "
);
outtextxy(100, 700, str);
}
delay(500);
cleardevice();
getch();
closegraph();
}