Code:
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
#include <dos.h>
#include<stdlib.h>
int i, maxx, midy;
int k=160,ch,l=-160,z;
int ran_pos_x,ran_pos_y,ran_rad;
void randomizer()
{
randomize();
ran_pos_x=random(random(random(maxx)));
ran_pos_y=30;
ran_rad=5;
circle(ran_pos_x,ran_pos_y,ran_rad);
for(z=0;z<650;z++)
{
circle(ran_pos_x,ran_pos_y+z,ran_rad);
delay(10);
cleardevice();
}
}
void direction(int ch)
{
/* if(ch==119)
{
cleardevice();
setcolor(YELLOW);
setfillstyle(SOLID_FILL, YELLOW);
line((maxx/2+l),midy+k,(maxx/2+l),(midy+30+k));
line((maxx/2+l),(midy+30+k),((maxx/2)+100+l),(midy+30+k));
line(((maxx/2)+100+l),(midy+30+k),((maxx/2)+100+l),midy+k);
line((maxx/2+l),midy+k,((maxx/2)+100+l),midy+k);
k=k-2;
}
else if(ch==115)
{
cleardevice();
setcolor(YELLOW);
setfillstyle(SOLID_FILL, YELLOW);
line((maxx/2+l),midy+k,(maxx/2+l),(midy+30+k));
line((maxx/2+l),(midy+30+k),((maxx/2)+100+l),(midy+30+k));
line(((maxx/2)+100+l),(midy+30+k),((maxx/2)+100+l),midy+k);
line((maxx/2+l),midy+k,((maxx/2)+100+l),midy+k);
k=k+2;
} */
if(ch==97)
{
cleardevice();
setcolor(YELLOW);
setfillstyle(SOLID_FILL, YELLOW);
line((maxx/2+l),(midy+k-1),(maxx/2+l),(midy+30+k-1));
line((maxx/2+l-1),midy+k,(maxx/2+l-1),(midy+30+k));
line((maxx/2+l),midy+k+3,(maxx/2+l),(midy+30+k)+3);
line((maxx/2+l),(midy+30+k),((maxx/2)+100+l),(midy+30+k));
line((maxx/2+l),(midy+30+k+1),((maxx/2)+100+l),(midy+30+k+1));
line((maxx/2+l),(midy+30+k+2),((maxx/2)+100+l),(midy+30+k+2));
line(((maxx/2)+100+l),(midy+30+k),((maxx/2)+100+l),midy+k);
line(((maxx/2)+100+l+1),(midy+30+k),((maxx/2)+100+l+1),midy+k);
line(((maxx/2)+100+l+2),(midy+30+k),((maxx/2)+100+l+2),midy+k);
setcolor(WHITE);
line(0, midy + 200 , maxx, midy + 200);
gotoxy(maxx-20,midy+210);
printf("\nSCORE : 000");
// line((maxx/2+l),midy+k,((maxx/2)+100+l),midy+k);
l=l-5;
}
else if(ch==100)
{
cleardevice();
setcolor(YELLOW);
setfillstyle(SOLID_FILL, YELLOW);
line((maxx/2+l),(midy+k-1),(maxx/2+l),(midy+30+k-1));
line((maxx/2+l-1),midy+k,(maxx/2+l-1),(midy+30+k));
line((maxx/2+l),midy+k+3,(maxx/2+l),(midy+30+k)+3);
line((maxx/2+l),(midy+30+k),((maxx/2)+100+l),(midy+30+k));
line((maxx/2+l),(midy+30+k+1),((maxx/2)+100+l),(midy+30+k+1));
line((maxx/2+l),(midy+30+k+2),((maxx/2)+100+l),(midy+30+k+2));
line(((maxx/2)+100+l),(midy+30+k),((maxx/2)+100+l),midy+k);
line(((maxx/2)+100+l+1),(midy+30+k),((maxx/2)+100+l+1),midy+k);
line(((maxx/2)+100+l+2),(midy+30+k),((maxx/2)+100+l+2),midy+k);
setcolor(WHITE);
line(0, midy + 200, maxx, midy + 200);
gotoxy(maxx-20,midy+210);
printf("\nSCORE : 000");
// line((maxx/2+l),midy+k,((maxx/2)+100+l),midy+k);
l=l+5;
}
}
int main() {
/* request auto detection */
int gdriver = DETECT, gmode, err;
/* initialize graphic mode */
initgraph(&gdriver, &gmode, "C:/TURBOC3/BGI");
err = graphresult();
if (err != grOk) {
/* error occurred */
printf("Graphics Error: %s\n",
grapherrormsg(err));
return 0;
}
/* max position in x-axis */
maxx = getmaxx();
/* mid position in y-axis */
midy = getmaxy() / 2;
/* clears the graphic screen */
do
{
ch=getch();
if(ch==27)
{
exit(0);
}
// randomizer();
direction(ch);
}while(ch!=27);
getch();
/* deallocate memory allocated for graphic screen */
closegraph();
}