#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<stdlib.h>
void main()
{
int x1,y1,x2,y2,r,xr,yr,sa,ea;
int gd=DETECT,gm;
initgraph(&gd,&gm," ");
while(1)
{
clrscr();
cleardevice();
printf("Basic drawings using graphics :\n\n");
printf("1.Line\n2.Rectangle\n3.Circle\n4.Ellipse\n5.Arc\n6.Exit");
printf("\n\nEnter your choice");
switch(getche())
{
case '1': //Line
clrscr();
cleardevice();
printf("Enter (x1,y1) and (x2,y2) : ");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
cleardevice();
line(x1,y1,x2,y2);
break;
case '2': //Rectangle
clrscr();
cleardevice();
printf("Enter (x1,y1) and (x2,y2) : ");
scanf("%d%d%d%d",&x1,&y1,&x2,&y2);
cleardevice();
rectangle(x1,y1,x2,y2);
break;
case '3': //Circle
clrscr();
cleardevice();
printf("Enter (x,y) and (radius): ");
scanf("%d%d%d",&x1,&y1,&r);
cleardevice();
circle(x1,y1,r);
break;
case '4': //Ellipse
clrscr();
cleardevice();
printf("Enter (x1,y1),(start angle,end angle) and (xradius,yradius) : ");
scanf("%d%d%d%d%d%d",&x1,&y1,&sa,&ea,&xr,&yr);
cleardevice();
ellipse(x1,y1,sa,ea,xr,yr);
break;
case '5': //Arc
clrscr();
cleardevice();
printf("Enter (x1,y1),(start angle,end angle) and (radius) : ");
scanf("%d%d%d%d%d",&x1,&y1,&sa,&ea,&r);
cleardevice();
arc(x1,y1,sa,ea,r);
break;
case '6': //Exit
closegraph();
exit(1);
}
getch();
}
}
Simple animation of random balls that bounces within the screen Source: #include<stdio.h> #include<graphics.h> #include<conio.h> #include<dos.h> #include<math.h> void drawBall(struct ball *b, int color); struct ball{ int x, y; int dx, dy; int radius; }; void main() { int gd=0, gm=VGAHI; int i; struct ball b[10]; initgraph(&gd, &gm, ""); for(i=1;i<=15;i++){ b[i].radius = rand()%20; b[i].x=rand()%getmaxx(); b[i].y=rand()%getmaxy(); b[i].dx=2; b[i].dy=4; } while(!kbhit()) { delay(5); cleardevice(); for(i=1;i<=15;i++) drawBall(&b[i],i); } closegraph(); } void drawBall(struct ball *b, int color){ setfillstyle(1,color); setcolor(color); fillellipse(b->x, b->y, b->radius, b->radius); if(b->x+b->radius > getmaxx() || b->x-b->radius<0) b->dx = -b->dx; if(b->y+b->radius > getmaxy() || b->y-b->radius<0) b->dy = -b->dy; b->x+=b-...
Comments