Animate moving boat using C graphics
#include <conio.h>
#include <graphics.h>
#include <dos.h>
int main() {
int gdriver = DETECT, gmode, err;
int i = 0, j, x, y, x1, y1, x2, y2;
initgraph(&gdriver, &gmode, "C:/TURBOC3/BGI");
err = graphresult();
if (err != grOk) {
printf("Graphics Error: %s\n",
grapherrormsg(err));
return 0;
}
j = 0;
/* initialize position for boat */
x = 50, y = getmaxy() / 2 + 140;
while (x + 60 < getmaxx() && (!kbhit())) {
/* setting positions for rain */
x1 = 10, i = y1 = 0;
x2 = 0, y2 = 50;
/* clears graphic screen */
cleardevice();
/* setting the color of the river/sea */
setcolor(LIGHTBLUE);
setlinestyle(SOLID_LINE, 1, 1);
setfillstyle(SOLID_FILL, LIGHTBLUE);
/* draw the river/sea */
rectangle(0, getmaxy() / 2 + 150, getmaxx(), getmaxy());
floodfill(getmaxx() - 10, getmaxy() - 10, LIGHTBLUE);
/* rain drops */
setlinestyle(DASHED_LINE, 1, 2);
while (i< 700 ) {
line(x1, y1, x2, y2);
x1 = x1 + 20;
y2 = y2 + 50;
i++;
}
/* drawing the boat */
setlinestyle(SOLID_LINE, 1, 2);
setcolor(BROWN);
setfillstyle(SOLID_FILL, BROWN);
sector(x, y, 180, 360, 50, 10);
setcolor(DARKGRAY);
setlinestyle(SOLID_LINE, 1, 3);
/* leg and body of stick man */
line(x + 40, y - 15, x + 40, y - 40);
line(x + 40, y - 15, x + 45, y - 10);
line(x + 45, y - 10, x + 45, y);
line(x + 40, y - 15, x + 37, y);
/* head and hand of stick man */
circle(x + 40, y - 45, 5);
line(x + 40, y - 35, x + 50, y - 30);
line(x + 40, y - 35, x + 35, y - 32);
line(x + 35, y - 32, x + 45, y - 25);
line(x + 60, y - 45, x + 27, y + 10);
/* moving the position of boat and stick man */
x++;
setcolor(LIGHTBLUE);
delay(250);
/* clears the graphic device */
cleardevice();
/* drawing sea/river */
setlinestyle(SOLID_LINE, 1, 1);
setfillstyle(SOLID_FILL, LIGHTBLUE);
rectangle(0, getmaxy() / 2 + 150, getmaxx(), getmaxy());
floodfill(getmaxx() - 10, getmaxy() - 10, LIGHTBLUE);
/* rain drops */
setlinestyle(DASHED_LINE, 1, 2);
x1 = 10, i = y1 = 0;
x2 = 0, y2 = 70;
while (i < 700) {
line(x1, y1, x2, y2);
x1 = x1 + 30;
y2 = y2 + 60;
i++;
}
/* drawing boat */
setlinestyle(SOLID_LINE, 1, 1);
setcolor(BROWN);
setfillstyle(SOLID_FILL, BROWN);
sector(x, y, 180, 360, 50, 10);
/* body and leg of stic man */
setcolor(DARKGRAY);
setlinestyle(SOLID_LINE, 1, 3);
line(x + 40, y - 15, x + 40, y - 40);
line(x + 40, y - 15, x + 45, y - 10);
line(x + 45, y - 10, x + 45, y);
line(x + 40, y - 15, x + 37, y);
/* head, hands of stick man */
circle(x + 40, y - 45, 5);
line(x + 40, y - 35, x + 52, y - 30);
line(x + 40, y - 35, x + 37, y - 32);
line(x + 37, y - 32, x + 49, y - 25);
line(x + 60, y - 45, x + 27, y + 10);
/* forwarding the position of the boat */
x++;
/* sleep for 250 milliseconds */
delay(250);
/* clears the graphic device */
cleardevice();
j++;
}
getch();
/* deallocate memory allocated for graphic screen */
closegraph();
return 0;
}
Output:(Animate moving boat using C graphics)
when i type this code my compiler says device driver file not found
ReplyDeletethis code is not give me any output
ReplyDeleteThanks nice C graphics program. This program is similar to moving car animation program.
ReplyDeleteWELCOME
DeleteIt's run perfectly
ReplyDeleteIt's run perfectly
ReplyDeleteHow did you manage to run it?
DeleteI tried to run the same program,showed alot of error.
mind blowing very nc sir.....
ReplyDeleteHow did you manage to run it?
Deletesir gv me a code in which heart is broken by arrow
ReplyDeletehi could you email me please? i have some thing for you to do and it is paid. thanks.
ReplyDeletesurekhajessyn1@gmail.com
Linker error
ReplyDeleteUnable to open file 'TCLASSS.LIB'
Thank you so much for the program. It helped me in my microproject of graphics :)
ReplyDelete