Advertisement
junest

do hoa 2

Mar 31st, 2014
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.93 KB | None | 0 0
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <graphics.h>
  4. #include <stdlib.h>
  5. #include <stdio.h>
  6. #include <conio.h>
  7. #include "windows.h"
  8. using namespace std;
  9. void KhoiTaoDohoa()
  10. {
  11. int driver=0,mode;
  12. initgraph(&driver,&mode,"");
  13. }
  14. void bcir(int xc, int yc, int Radius, int color)
  15. {
  16. int x, y, d;
  17. x = 0; y = Radius;
  18. d = 3 - 2 * Radius;
  19. while (x <= y)
  20. {
  21. putpixel(xc + x, yc + y, color);
  22. putpixel(xc - x, yc + y, color);
  23. putpixel(xc + x, yc - y, color);
  24. putpixel(xc - x, yc - y, color);
  25. putpixel(xc + y, yc + x, color);
  26. putpixel(xc - y, yc + x, color);
  27. putpixel(xc + y, yc - x, color);
  28. putpixel(xc - y, yc - x, color);
  29. if (d < 0)
  30. d+=4*x+6;
  31. else {
  32. d+=4*(x-y)+10;
  33. y--;
  34. }
  35. x++;
  36. }
  37. }
  38.  
  39. void bline(int x1,int y1,int x2,int y2,int color)
  40. // 0<m<1
  41. {
  42. int x_max,x,y;
  43. int dx=abs(x1-x2);
  44. int dy=abs(y1-y2);
  45. int c1=2*dy;
  46. int c2=2*(dy-dx);
  47. int p=2*dy-dx;
  48. if (x1>x2)
  49. {
  50. x=x2; y=y2; x_max=x1;
  51. }
  52. else
  53. {
  54. x=x1; y=y1; x_max=x2;
  55. }
  56. putpixel(x,y,color);
  57. delay(5);
  58. while (x < x_max)
  59. {
  60. x=x+1;
  61. if (p<0) p=p+c1;
  62. else
  63. {
  64. y=y+1;
  65. p=p+c2;
  66. }
  67. putpixel(x,y,color);
  68. delay(5);
  69. }
  70. }
  71. int main(int argc, char *argv[])
  72. {
  73. KhoiTaoDohoa();
  74. setbkcolor(1);
  75. setcolor(7);
  76. line(1,100,800,100);
  77. delay(1000);
  78. //bline(1,100,800,100,2);
  79. for (int i=1;i<=35;i++)
  80. {
  81. delay(2);
  82. setcolor(7);
  83. circle(300,300,i*5);
  84. delay(50);
  85. setcolor(BLACK);
  86. circle(300,300,i*5);
  87. };
  88. //bline(1,100,800,100,2);
  89. for (int i=35;i>=1;i--)
  90. {
  91. delay(2);
  92. setcolor(9);
  93. circle(300,300,i*5);
  94. delay(50);
  95. setcolor(BLACK);
  96. circle(300,300,i*5);
  97. };
  98. for (int i=1;i<=35;i++)
  99. {
  100. delay(2);
  101. setcolor(4);
  102. circle(300,300,i*5);
  103. delay(50);
  104. setcolor(BLACK);
  105. circle(300,300,i*5);
  106. };
  107. //bline(1,100,800,100,2);
  108. for (int i=35;i>=1;i--)
  109. {
  110. delay(2);
  111. setcolor(12);
  112. circle(300,300,i*5);
  113. delay(50);
  114. setcolor(BLACK);
  115. circle(300,300,i*5);
  116. };
  117. for (int i=17;i>=1;i--)
  118. {
  119. setcolor(i);
  120. setfillstyle(i%12,i%11);
  121. bcir(300,300,10*i,i);
  122. floodfill(300,300+6*i,i);
  123. delay(90);
  124. };
  125. srand(time(NULL));
  126. int i=0;
  127.  
  128. while (i<400)
  129. {
  130. putpixel(rand()%800, rand()%800, WHITE);
  131. delay(5);
  132. i++;
  133. }
  134. setcolor(7); // set text color
  135. outtextxy(250,100,"DRAW CIRCLES");// print text in window graphics
  136. /*setcolor(6);
  137. line(300,120,500,180);
  138. delay(50);
  139. line(100,180,300,120);
  140. delay(50);
  141. line(100,180,500,180);
  142. setcolor(6);
  143. line(160,180,160,400);
  144. delay(50);
  145. line(440,180,440,400);
  146. delay(50);
  147. line(160,400,440,400);
  148. setcolor(6);
  149. rectangle(250,240,350,399);
  150. setfillstyle(1,RED);
  151. floodfill(300,160,6);
  152. setfillstyle(1,BLUE);
  153. floodfill(300,230,6);
  154. setfillstyle(1,WHITE);
  155. floodfill(300,360,6);
  156. setcolor(6);
  157. setfillstyle(1,YELLOW);
  158. rectangle(180,200,220,240);
  159. rectangle(420,200,380,240);
  160. floodfill(200,220,6);
  161. floodfill(400,220,6);
  162. line(200,200,200,240);
  163. line(180,220,220,220);
  164. line(400,200,400,240);
  165. line(420,220,380,220);
  166. line(300,240,300,399);
  167. line(298,240,298,399);
  168. setfillstyle(1,BLACK);
  169. circle(310,320,5);
  170. circle(290,320,5);
  171. floodfill(310,320,6);
  172. floodfill(290,320,6);
  173.  
  174. setfillstyle(1,YELLOW);
  175. for (int i=1;i<=20;i++)
  176. {
  177. setcolor(i%13);
  178. circle(300,50,40);
  179. setfillstyle(1,i%13);
  180. floodfill(300,50,i%13);
  181. delay(1000);
  182. };*/
  183. while(!kbhit()) delay(1); // pause screen
  184. system("PAUSE");
  185. return EXIT_SUCCESS;
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement