C++ program to make 3-D Animated Moving Car.

 #include<graphics.h>

#include<conio.h>

#include<dos.h>

#include<stdlib.h>

#include<process.h>                                     

Output 👆

 

void main()

{

int gd = DETECT, gm;

initgraph(&gd, &gm, "T:bgi");

int t;

while (1) {

settextstyle(2, 0, 5);

outtextxy(100, 10, "Press L-MOVE,H-HOLD,T-BLINK LIGHT");

outtextxy(100, 30, "Press 1 for Quit");

as:

setcolor(13);

ellipse(380, 127, 20, 152, 130, 35);

//////////////////////////////rear//////////////////////////

 

line(490, 109, 560, 142);

line(560, 142, 569, 142);

line(569, 142, 582, 102);

line(582, 102, 620, 92);

line(593, 132, 617, 125);

 

line(617, 124, 627, 96);

line(620, 92, 628, 97);

 

line(472, 86, 602, 96);

line(501, 113, 575, 121);

line(443, 77, 475, 80);

 

line(443, 77, 432, 93);

line(475, 80, 472, 85);

line(593, 132, 593, 137);

line(593, 137, 600, 141);

line(600, 141, 600, 185);

line(600, 185, 608, 192);

line(608, 192, 608, 234);

line(608, 234, 586, 253);

line(586, 253, 577, 248);

 

///////////////////////// mirror

line(263, 112, 363, 127);

line(193, 160, 263, 112);

line(193, 160, 220, 170);

line(220, 170, 280, 180);

line(280, 180, 320, 185);

line(320, 185, 363, 127);

////////////////////////////////sidemirror

line(340, 194, 460, 169);

line(460, 169, 519, 152);

 

ellipse(512, 144, 300, 30, 10, 10);

ellipse(467, 143, 28, 100, 50, 30);

line(510, 128, 521, 138);

line(435, 116, 440, 171);

////////////////////////////////////////cont//

line(339, 194, 372, 144);

ellipse(454, 208, 87, 123, 128, 95);

line(372, 144, 384, 128);

int b, x, y;

////////////////////////lower

line(365, 298, 524, 264);

line(365, 298, 330, 310);

line(330, 310, 323, 310);

 

///////////////////////////////bumper

ellipse(162, 221, 135, 190, 90, 40);

line(96, 193, 140, 174);

line(140, 174, 160, 168);

line(160, 168, 192, 161);

 

//////////////////////front

ellipse(75, 246, 95, 190, 18, 18);

line(57, 251, 57, 286);

 

ellipse(181, 178, 232, 263, 200, 137);

ellipse(195, 180, 256, 286, 200, 137);

 

ellipse(191, 171, 228, 247, 200, 100);

ellipse(231, 198, 234, 275, 200, 80);

 

ellipse(196, 167, 228, 246, 200, 90);

ellipse(231, 184, 234, 276, 200, 80);

 

ellipse(191, 200, 228, 246, 200, 90);

ellipse(228, 218, 234, 276, 200, 80);

 

ellipse(258, 268, 180, 220, 200, 40);

ellipse(178, 296, 244, 355, 16, 10);

 

ellipse(238, 249, 227, 250, 200, 60);

 

/////////////wheel1

ellipse(302, 281, 320, 77, 26, 45);

ellipse(290, 277, 65, 162, 40, 45);

ellipse(278, 288, 144, 212, 31, 45);

 

/////////////wheel2

ellipse(302 + 260, 229, 328, 87, 26, 45);

ellipse(290 + 280 - 7, 277 - 50 + 2, 90, 162, 40, 45);

ellipse(278 + 270, 288 - 50, 144, 215, 27, 45);

b = 0;

int v = 0;

 

/////////

ellipse(302 + 250 + v, 227 + b, 295, 90, 29, 41);

ellipse(302 + 234 + v, 231 + b, 245, 306, 50, 40);

ellipse(302 + 248 + v, 229 + b, 0, 360, 21, 30);

 

ellipse(302 + 247 + v, 229 + b, 0, 360, 8, 10);

setfillstyle(6, 11);

 

line(546 + v, 201 + b, 546 + v, 220 + b);

line(551 + v, 201 + b - 2, 551 + v, 220 + b);

 

line(546 + v, 238 + b, 546 + v, 257 + b);

line(551 + v, 238 + b + 2, 551 + v, 257 + b + 2);

 

line(530 + v, 225 + b, 541 + v, 225 + b);

line(530 + v, 230 + b, 541 + v, 230);

 

line(557 + v, 225 + b, 570 + v, 225 + b);

line(557 + v, 230 + b, 570 + v, 230 + b);

 

line(563 + v, 206 + b, 552 + v, 222 + b);

line(534 + v, 246 + b, 543 + v, 232 + b);

 

line(566 + v, 210 + b, 556 + v, 223 + b);

line(536 + v, 250 + b, 544 + v, 238 + b);

 

line(536 + v, 207 + b, 546 + v, 222 + b);

line(532 + v, 213 + b, 542 + v, 224 + b);

 

line(556 + v, 235 + b, 566 + v, 247 + b);

line(551 + v, 237 + b, 563 + v, 253 + b);

 

////////////////////////////////////////////////////

v = -260;

b = 56;

ellipse(302 + 233 + v, 221 + b, 260, 60, 49, 51);

ellipse(302 + 243 + v, 224 + b, 0, 360, 28, 35);

ellipse(300 + 245 + v, 223 + b, 0, 360, 10, 12);

 

ellipse(285 + 249 + v, 239 + b, 210, 260, 30, 33);

b = 45;

v = v - 4;

line(546 + v, 201 + b, 546 + v, 220 + b + 2);

line(551 + v, 201 + b, 551 + v, 220 + b + 2);

b = b + 8;

line(546 + v, 238 + b, 546 + v, 257 + b + 4);

line(551 + v, 238 + b, 551 + v, 257 + b + 4);

v = v - 2;

line(530 + v - 6, 225 + b, 541 + v, 225 + b);

line(530 + v - 6, 230 + b, 541 + v, 230 + b);

v = v + 5;

line(557 + v, 225 + b, 570 + v + 3, 225 + b);

line(557 + v - 1, 230 + b, 570 + v + 3, 230 + b);

 

b = b - 5;

v = v - 5;

line(565 + v + 3, 206 + b, 552 + v + 4, 222 + b - 2);

b = b + 15;

 

line(534 + v, 246 + b, 543 + v + 3, 232 + b - 5);

b = b - 10;

line(566 + v + 7, 210 + b - 5, 556 + v + 4, 220 + b);

line(536 + v - 5, 250 + b, 544 + v - 2, 238 + b - 4);

 

line(536 + v, 207 + b - 8, 545 + v, 222 + b - 5);

line(531 + v, 212 + b - 8, 542 + v, 224 + b - 2);

 

line(556 + v, 235 + b, 566 + v + 3, 247 + b + 5);

line(551 + v, 237 + b, 563 + v + 2, 253 + b + 3);

 

///////////////////lights

ellipse(199, 250, 144, 345, 18, 8);

line(185, 245, 206, 230);

ellipse(223, 234, 340, 110, 8, 5);

line(230, 237, 217, 252);

line(206, 230, 220, 229);

 

/////////////////////////////////////

line(90, 223, 152, 236);

line(152, 236, 137, 254);

line(90, 223, 90, 242);

ellipse(240, 270, 104, 136, 100, 60);

ellipse(185, 237, 120, 160, 100, 60);

ellipse(80, 221, 357, 134, 10, 10);

 

line(152, 236, 168, 228);

///////////////////////////////////////////////

line(435, 116, 440, 171);

//////////////////////////////////////////hp

line(134, 185, 196, 160);

line(214, 212, 318, 185);

/////////////////////////////////////////////////light

ellipse(166, 247, 99, 330, 8, 8);

ellipse(171, 243, 310, 129, 7, 7);

putpixel(174, 250, 13);

putpixel(173, 251, 13);

putpixel(164, 239, 13);

putpixel(165, 238, 13);

 

/////////////////////////////////////////road/////////////////////

setcolor(13);

line(1, 430, 639, 300);

line(1, 445, 639, 315);

 

line(1, 210, 93, 194);

line(1, 195, 194, 158);

 

line(520, 90, 639, 71);

line(478, 86, 639, 56);

 

int c = 0;

 

line(10, 194 + c, 10, 208 + c);

line(40, 189 + c, 40, 204 + c);

line(70, 183 + c, 70, 198 + c);

line(100, 176 + c, 100, 190 + c);

line(130, 170 + c, 130, 177 + c);

line(160, 166 + c, 160, 168 + c);

line(190, 160 + c, 190, 161 + c);

 

line(190 + 330, 78 + c, 190 + 330, 89 + c);

 

line(190 + 360, 72 + c, 190 + 360, 85 + c);

line(190 + 390, 67 + c, 190 + 390, 81 + c);

line(190 + 420, 62 + c, 190 + 420, 76 + c);

line(190 + 449, 57 + c, 190 + 449, 71 + c);

 

c = 236;

 

line(10, 192 + c, 10, 208 + c);

line(40, 189 + c - 2, 40, 204 + c - 3);

line(70, 183 + c - 3, 70, 198 + c - 3);

line(100, 176 + c - 2, 100, 190 + c - 2);

line(130, 170 + c - 2, 130, 177 + c + 5);

line(160, 166 + c - 3, 160, 168 + c + 8);

line(190, 160 + c - 4, 190, 161 + c + 9);

 

line(190 + 30, 156 + c - 5, 190 + 30, 170 + c - 5);

 

line(190 + 30 + 30, 156 + c - 12, 190 + 30 + 30, 170 + c - 12);

 

line(190 + 90, 156 + c - 18, 190 + 90, 170 + c - 17);

 

line(190 + 120, 156 + c - 25, 190 + 120, 170 + c - 25);

 

line(190 + 150, 156 + c - 30, 190 + 150, 170 + c - 30);

 

line(190 + 180, 156 + c - 37, 190 + 180, 170 + c - 36);

 

line(190 + 210, 156 + c - 42, 190 + 210, 170 + c - 42);

 

line(190 + 240, 156 + c - 48, 190 + 240, 170 + c - 48);

 

line(190 + 270, 156 + c - 55, 190 + 270, 170 + c - 54);

 

line(190 + 300, 156 + c - 61, 190 + 300, 170 + c - 61);

 

line(190 + 330, 78 + c + 10, 190 + 330, 89 + c + 13);

 

line(190 + 360, 72 + c + 11, 190 + 360, 85 + c + 13);

line(190 + 390, 67 + c + 10, 190 + 390, 81 + c + 10);

line(190 + 420, 62 + c + 8, 190 + 420, 76 + c + 10);

line(190 + 449, 57 + c + 8, 190 + 449, 71 + c + 8);

 

/////////////////road

 

setcolor(12); /////////////////////////////1

 

line(1, 310, 25, 306);

line(6, 318, 30, 315);

line(1, 310, 6, 318);

line(25, 306, 30, 314);

int k, m;

k = 13 * 45 + 19;

m = 16 * (-8);

//2

setcolor(12);

 

line(605, 310 - 128, 629, 306 - 128);

line(610, 318 - 128, 634, 315 - 128);

line(605, 310 - 128, 610, 318 - 128);

line(629, 306 - 128, 634, 314 - 128);

 

setcolor(12); //////////////////////////////////3

k = 45;

m = -8;

line(46, 302, 70, 298);

line(51, 310, 75, 307);

line(46, 302, 51, 310);

line(70, 298, 75, 306);

 

setfillstyle(1, 0);

floodfill(64, 303, 12);

 

setfillstyle(1, 14);

floodfill(14, 314, 12);

floodfill(617, 183, 12);

 

setfillstyle(1, 0);

floodfill(14, 314, 12);

floodfill(617, 183, 12);

 

setfillstyle(1, 14);

floodfill(64, 303, 12);

 

t = getch();

if (t == '1')

exit(0);

if (t == 'h') {

sound(710);

delay(500);

nosound();

//break;

}

if (t == 't') {

while (!kbhit()) {

setfillstyle(1, 0);

floodfill(536, 213, 13);

floodfill(563, 213, 13);

floodfill(561, 244, 13);

floodfill(538, 244, 13);

floodfill(274, 295, 13);

floodfill(294, 295, 13);

floodfill(274, 265, 13);

floodfill(294, 265, 13);

floodfill(548, 250, 13);

floodfill(548, 214, 13);

floodfill(533, 228, 13);

floodfill(563, 228, 13);

floodfill(262, 281, 13);

floodfill(308, 281, 13);

floodfill(284, 251, 13);

floodfill(284, 295, 13);

 

setfillstyle(1, random(12));

 

floodfill(200, 250, 13);

delay(10);

 

floodfill(170, 250, 13);

floodfill(80, 230, 13);

 

}

 

setfillstyle(1, 0);

 

floodfill(200, 250, 13);

delay(10);

 

floodfill(170, 250, 13);

floodfill(80, 230, 13);

 

}

 

if (t == 'l') {

while (!kbhit()) {

 

delay(120);

setfillstyle(6, 0); //////////////////////////ty

floodfill(536, 213, 13);

floodfill(563, 213, 13);

floodfill(561, 244, 13);

floodfill(538, 244, 13);

floodfill(274, 295, 13);

floodfill(294, 295, 13);

floodfill(274, 265, 13);

floodfill(294, 265, 13);

 

setfillstyle(1, 0);

floodfill(64, 303, 12);

 

///////////////////////////////////road

 

setfillstyle(9, 0); /////////////////////color

floodfill(81 - 40 + 5, 419 + 7, 13);

floodfill(151 - 40, 409 + 7, 13);

floodfill(211 - 40, 397 + 7, 13);

floodfill(271 - 40, 380 + 7, 13);

floodfill(331 - 40, 368 + 7, 13);

floodfill(396 - 40, 355 + 7, 13);

floodfill(450 - 40, 345 + 7, 13);

floodfill(510 - 40, 335 + 7, 13);

floodfill(570 - 40, 325 + 7, 13);

floodfill(630 - 40, 312 + 7, 13);

 

//////////////////////

floodfill(50, 197, 13);

floodfill(110, 177, 13);

floodfill(166, 165, 13);

floodfill(527, 86, 13);

floodfill(587, 71, 13);

 

setfillstyle(6, 14); //////////////////////////ty

floodfill(548, 250, 13);

floodfill(548, 214, 13);

floodfill(533, 228, 13);

floodfill(563, 228, 13);

floodfill(262, 281, 13);

floodfill(308, 281, 13);

floodfill(284, 251, 13);

floodfill(284, 295, 13);

////////////////////////////////////////road

 

setfillstyle(9, 10); ///////////////////////////////////color

floodfill(19, 429, 13);

floodfill(81, 419, 13);

floodfill(151, 409, 13);

floodfill(211, 397, 13);

floodfill(271, 380, 13);

floodfill(331, 368, 13);

floodfill(396, 355, 13);

floodfill(450, 345, 13);

floodfill(510, 335, 13);

floodfill(570, 325, 13);

floodfill(630, 312, 13);

//////////////////////////////////////

floodfill(20, 197, 13);

floodfill(80, 187, 13);

floodfill(133, 174, 13);

floodfill(517, 86, 13);

floodfill(557, 81, 13);

floodfill(627, 70, 13);

 

setfillstyle(1, 14);

floodfill(14, 314, 12);

floodfill(617, 183, 12);

 

///////////////////////////////////////

setfillstyle(10, 4);

floodfill(302 + 248, 230, 13);

floodfill(302 + 248 + v, 230 + b, 13);

///light

setfillstyle(6, 11); ///////////

 

floodfill(200, 250, 13);

 

floodfill(170, 250, 13);

floodfill(80, 230, 13);

 

delay(120);

 

setfillstyle(6, 0); /////////////////////ty

floodfill(548, 250, 13);

floodfill(548, 214, 13);

floodfill(533, 228, 13);

floodfill(563, 228, 13);

floodfill(262, 281, 13);

floodfill(308, 281, 13);

floodfill(284, 251, 13);

floodfill(284, 295, 13);

/////////////////////////////////////road

setfillstyle(9, 0); ///////////////color

 

floodfill(19, 429, 13);

floodfill(81, 419, 13);

floodfill(151, 409, 13);

floodfill(211, 397, 13);

floodfill(271, 380, 13);

floodfill(331, 368, 13);

floodfill(396, 355, 13);

floodfill(450, 345, 13);

floodfill(510, 335, 13);

floodfill(570, 325, 13);

floodfill(630, 312, 13);

///////////////////////////////////////////////////////

floodfill(20, 197, 13);

floodfill(80, 187, 13);

floodfill(133, 174, 13);

floodfill(517, 86, 13);

floodfill(557, 81, 13);

floodfill(627, 70, 13);

/////////////////////////////

setfillstyle(1, 0);

floodfill(14, 314, 12);

floodfill(617, 183, 12);

 

setfillstyle(6, 10); /////////////ty

 

floodfill(536, 213, 13);

floodfill(563, 213, 13);

floodfill(561, 244, 13);

floodfill(538, 244, 13);

floodfill(274, 295, 13);

floodfill(294, 295, 13);

floodfill(274, 265, 13);

floodfill(294, 265, 13);

////////////////////////////////////////////////road

setfillstyle(9, 14); /////////////////////////////////////////color

floodfill(81 - 40 + 5, 419 + 7, 13);

floodfill(151 - 40, 409 + 7, 13);

floodfill(211 - 40, 397 + 7, 13);

floodfill(271 - 40, 380 + 7, 13);

floodfill(331 - 40, 368 + 7, 13);

floodfill(396 - 40, 355 + 7, 13);

floodfill(450 - 40, 345 + 7, 13);

floodfill(510 - 40, 335 + 7, 13);

floodfill(570 - 40, 325 + 7, 13);

floodfill(630 - 40, 312 + 7, 13);

/////////////////////////////////////////

 

floodfill(50, 197, 13);

floodfill(110, 177, 13);

floodfill(166, 165, 13);

floodfill(527, 86, 13);

floodfill(587, 71, 13);

setfillstyle(1, 14);

floodfill(64, 303, 12);

 

setfillstyle(9, 4);

floodfill(302 + 248, 230, 13);

floodfill(302 + 248 + v, 230 + b, 13);

 

delay(20);

setfillstyle(1, 14);

 

floodfill(200, 250, 13);

 

floodfill(170, 250, 13);

floodfill(80, 230, 13);

 

delay(20);

setfillstyle(1, 0);

 

floodfill(200, 250, 13);

 

floodfill(170, 250, 13);

floodfill(80, 230, 13);

 

}

}

 

if (t == 'p') {

int n = 0;

while (!kbhit()) {

if (n <= 60)

n++;

setcolor(0);

rectangle(1 + 1, -10, 90 - 1, -12 + n);

delay(14);

 

setcolor(9);

rectangle(1, -10, 90, -10 + n);

if (n == 60) {

 

//outtextxy(10,10,"L-MOVE FORWARD");

//outtextxy(10,20,"H-HOLD");

//outtextxy(10,30,"T-AllOY");

delay(400);

}

 

}

setcolor(0);

rectangle(1, -10, 90, -10 + n);

rectangle(1, -10, 90, -11 + n);

}

 

}

 

circle(300, 100, 3);

 

nosound();

 

getch();

}

Comments