|
| 1 | +#include<iostream> |
| 2 | +#include<conio.h> |
| 3 | +#include<graphics.h> |
| 4 | +void flood(int x, int y, int new_col, int old_col) |
| 5 | +{ |
| 6 | + if (getpixel(x, y) == old_col) |
| 7 | + { |
| 8 | + putpixel(x, y, new_col); |
| 9 | + |
| 10 | + flood(x + 1, y, new_col, old_col); |
| 11 | + |
| 12 | + |
| 13 | + flood(x - 1, y, new_col, old_col); |
| 14 | + |
| 15 | + |
| 16 | + flood(x, y + 1, new_col, old_col); |
| 17 | + |
| 18 | + |
| 19 | + flood(x, y - 1, new_col, old_col); |
| 20 | + } |
| 21 | +} |
| 22 | +int main() |
| 23 | +{ |
| 24 | + int gd=DETECT,gm,i,p=0; |
| 25 | + initgraph(&gd,&gm,NULL); |
| 26 | + i=0; |
| 27 | + |
| 28 | + //Frame |
| 29 | + line(0,0,0,500); |
| 30 | + line(639,0,639,500); |
| 31 | + line(0,0,639,0); |
| 32 | + line(0,500,639,500); |
| 33 | + |
| 34 | + |
| 35 | + //Car Body |
| 36 | + line(50,370,95,370); |
| 37 | + arc(110,370,0,180,20); |
| 38 | + line(125,370,225,370); |
| 39 | + arc(240,370,0,180,20); |
| 40 | + line(255,370,300,370); |
| 41 | + line(300,370,300,350); |
| 42 | + line(300,350,240,330); |
| 43 | + line(240,330,200,300); |
| 44 | + line(110,300,202,300); |
| 45 | + line(110,300,80,330); |
| 46 | + line(80,330,50,340); |
| 47 | + line(50,340,50,370); |
| 48 | + |
| 49 | + |
| 50 | + //Window |
| 51 | + line(165+i,305,165+i,330); |
| 52 | + line(165+i,330,230+i,330); |
| 53 | + line(230+i,330,195+i,305); |
| 54 | + line(195+i,305,165+i,305); |
| 55 | + flood(166,306,15,0); |
| 56 | + |
| 57 | + line(160+i,305,160+i,330); |
| 58 | + line(160+i,330,95+i,330); |
| 59 | + line(95+i,330,120+i,305); |
| 60 | + line(120+i,305,160+i,305); |
| 61 | + |
| 62 | + //Wheel |
| 63 | + circle(110+i,370,17); |
| 64 | + circle(240+i,370,17); |
| 65 | + |
| 66 | + //Road |
| 67 | + line(0,420,639,420); |
| 68 | + line(0,330,80,330); |
| 69 | + line(240,330,639,330); |
| 70 | + |
| 71 | + |
| 72 | + rectangle(0,360,40,370); |
| 73 | + rectangle(350,360,400,370); |
| 74 | + rectangle(450,360,500,370); |
| 75 | + rectangle(550,360,600,370); |
| 76 | + |
| 77 | + //land boundary |
| 78 | + line(0,200,370,200); |
| 79 | + line(580,200,639,200); |
| 80 | + |
| 81 | + //Mountain |
| 82 | + line(0,200,200,100); |
| 83 | + line(200,100,370,200); |
| 84 | + |
| 85 | + line(285,150,480,100); |
| 86 | + line(480,100,639,200); |
| 87 | + |
| 88 | + //Sun |
| 89 | + circle(250,50,25); |
| 90 | + |
| 91 | + //River |
| 92 | + setcolor(1); |
| 93 | + line(0,215,200,215); |
| 94 | + arc(200,246,0,90,30); |
| 95 | + |
| 96 | + arc(200,246,270,360,30); |
| 97 | + line(150,276,200,276); |
| 98 | + |
| 99 | + arc(150,276,270,360,20); |
| 100 | + line(0,295,150,295); |
| 101 | + |
| 102 | + //Cloud |
| 103 | + setcolor(15); |
| 104 | + arc(639,60,90,180,50); |
| 105 | + arc(600,85,90,180,30); |
| 106 | + arc(610,85,180,270,40); |
| 107 | + line(605,124,639,124); |
| 108 | + |
| 109 | + //House |
| 110 | + line(350,230,400,150); |
| 111 | + line(400,150,450,230); |
| 112 | + line(400,150,550,150); |
| 113 | + line(550,150,600,230); |
| 114 | + line(450,230,600,230); |
| 115 | + line(352,228,352,320); |
| 116 | + rectangle(450,230,600,320); |
| 117 | + line(352,320,450,320); |
| 118 | + |
| 119 | + rectangle(500,250,550,320); |
| 120 | + |
| 121 | + circle(400,200,15); |
| 122 | + rectangle(370,250,420,290); |
| 123 | + line(395,250,395,290); |
| 124 | + |
| 125 | + |
| 126 | + |
| 127 | + //Car Colouring |
| 128 | + flood(111,301,4,0); |
| 129 | + flood(121,306,15,0); |
| 130 | + flood(1,361,15,0); |
| 131 | + flood(351,361,15,0); |
| 132 | + flood(451,361,15,0); |
| 133 | + flood(551,361,15,0); |
| 134 | + |
| 135 | + //Road Colouring |
| 136 | + flood(1,331,8,0); |
| 137 | + |
| 138 | + //Mountain Colouring |
| 139 | + flood(150,150,6,0); |
| 140 | + flood(350,150,6,0); |
| 141 | + |
| 142 | + //Sun Colouring |
| 143 | + flood(251,51,14,0); |
| 144 | + |
| 145 | + //Sky Colouring |
| 146 | + flood(1,1,11,0); |
| 147 | + |
| 148 | + //River Colouring |
| 149 | + flood(1,216,1,0); |
| 150 | + |
| 151 | + //Cloud Colouring |
| 152 | + flood(601,61,15,0); |
| 153 | + |
| 154 | + //Land Colouring |
| 155 | + flood(1,421,10,0); |
| 156 | + flood(1,201,10,0); |
| 157 | + |
| 158 | + //House Colour |
| 159 | + flood(410,151,4,0); |
| 160 | + flood(410,231,12,0); |
| 161 | + flood(451,231,12,0); |
| 162 | + flood(401,201,14,0); |
| 163 | + flood(371,251,6,0); |
| 164 | + flood(396,251,6,0); |
| 165 | + flood(501,251,6,0); |
| 166 | + |
| 167 | + |
| 168 | + //Bird |
| 169 | + setcolor(0); |
| 170 | + arc(400,50,0,90,10); |
| 171 | + arc(420,50,90,180,10); |
| 172 | + |
| 173 | + arc(440,50,0,90,10); |
| 174 | + arc(460,50,90,180,10); |
| 175 | + |
| 176 | + arc(430,70,0,90,10); |
| 177 | + arc(450,70,90,180,10); |
| 178 | + |
| 179 | + |
| 180 | + getch(); |
| 181 | + return 0; |
| 182 | +} |
0 commit comments