CRAZY1.PAS 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. Uses Graph;
  2. Procedure WrCr1(LX,LY,Rad,den:word;c1,c2,c3,c4:byte);
  3. var i:word;
  4. begin
  5. for i := 0 to Rad div Den do
  6. begin
  7. SetColor(c1);
  8. Line(LX,LY,LX+I*Den,LY-Rad);
  9. SetColor(c2);
  10. Line(LX,LY-Rad,LX+Rad,LY-Rad+I*Den);
  11. SetColor(c3);
  12. Line(LX+Rad,LY-Rad,LX+Rad-I*Den,LY);
  13. SetColor(c4);
  14. Line(LX+Rad,LY,LX,LY-I*Den);
  15. end;
  16. for i := 1 to Rad div Den do
  17. begin
  18. SetColor(c1);
  19. Line(LX,LY,LX+Rad,LY-Rad+I*Den);
  20. SetColor(c2);
  21. Line(LX,LY-Rad,LX+Rad-I*Den,LY);
  22. SetColor(c3);
  23. Line(LX+Rad,LY-Rad,LX,LY-I*Den);
  24. SetColor(c4);
  25. Line(LX+Rad,LY,LX+I*Den,LY-Rad);
  26. end;
  27. end;
  28. Procedure WrCr2(LX,LY,Rad,den:word;c1,c2,c3,c4:byte);
  29. var i:word;
  30. begin
  31. for i := 0 to Rad div Den do
  32. begin
  33. SetColor(c1);
  34. Line(LX,LY,LX+I*Den,LY-Rad);
  35. Line(LX,LY,LX+Rad,LY-Rad+I*Den);
  36. SetColor(c2);
  37. Line(LX,LY-Rad,LX+Rad,LY-Rad+I*Den);
  38. Line(LX,LY-Rad,LX+Rad-I*Den,LY);
  39. SetColor(c3);
  40. Line(LX+Rad,LY-Rad,LX+Rad-I*Den,LY);
  41. Line(LX+Rad,LY-Rad,LX,LY-I*Den);
  42. SetColor(c4);
  43. Line(LX+Rad,LY,LX,LY-I*Den);
  44. Line(LX+Rad,LY,LX+I*Den,LY-Rad);
  45. end;
  46. end;
  47. var
  48. g,s,i : integer;
  49. Begin
  50. InitGraph(g,s,'');
  51. SetWriteMode(0);
  52. WrCr1(150,400,320,4,1,2,4,8);
  53. { WrCr1(320,200,160,2,1,2,4,8);
  54. WrCr1(160,200,160,2,8,4,2,1);
  55. WrCr1(160,360,160,2,4,8,1,2);
  56. WrCr1(320,360,160,2,2,1,8,4);
  57. WrCr1(0,200,160,2,1,2,4,8);
  58. WrCr1(0,360,160,2,2,1,8,4);
  59. WrCr1(480,200,160,2,8,4,2,1);
  60. WrCr1(480,360,160,2,4,8,1,2);}
  61. ReadLn;
  62. CloseGraph;
  63. end.