Guest User

Untitled

a guest
May 16th, 2018
115
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.61 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using System.Drawing;
  7.  
  8. namespace KlasaVozilo
  9. {
  10. abstract public class Vozilo
  11. {
  12. #region atributi
  13. protected int x, y; //položaj
  14. protected int a, b; //dimenzije
  15. protected int dx; //brzina
  16. protected Color boja;
  17. #endregion
  18. #region svojstva
  19. public int X
  20. {
  21. get { return x; }
  22. set { x = value; }
  23. }
  24. public int Y
  25. {
  26. get { return y; }
  27. set { y = value; }
  28. }
  29. #endregion
  30. #region konstruktori
  31. public Vozilo()
  32. {
  33. this.x = 0;
  34. this.y = 0;
  35. this.a = 0;
  36. this.b = 0;
  37. this.boja = Color.White;
  38. }
  39. public Vozilo(int х, int у, int a, int b, Color boja)
  40. {
  41. this.x = х; this.y = у; this.a = a; this.b = b; this.boja = boja;
  42. }
  43. #endregion
  44. #region metode
  45. public void Pokreni(int dx)
  46. {
  47. this.dx = dx;
  48. }
  49. public void Zaustavi()
  50. {
  51. this.dx = 0;
  52. }
  53. public void Pomeri()
  54. {
  55. x += dx;
  56. }
  57. abstract public void Crtaj(Graphics g);
  58. #endregion
  59. }
  60. public class Auto : Vozilo
  61. {
  62. #region konstruktori
  63. public Auto(int X, int Y, int a, int b, Color boja)
  64. : base(X, Y, a, b, boja)
  65. { }
  66. #endregion
  67. #region metode
  68. public override void Crtaj(Graphics g)
  69. {
  70. SolidBrush cetka = new SolidBrush(boja);
  71. Pen olovka = new Pen(Color.Black);
  72. g.FillRectangle(cetka, X - a / 4, Y - b / 2, a / 2, b / 2);
  73. g.FillRectangle(cetka, X - a / 2, Y, a, b / 2);
  74. g.DrawLine(olovka, X - a / 4, Y - b / 2, X + a / 4, Y - b / 2);
  75. g.DrawLine(olovka, X - a / 2, Y + b / 2, X + a / 2, y + b / 2);
  76. g.DrawLine(olovka, X - a / 2, Y, X - a / 4, Y);
  77. g.DrawLine(olovka, X + a / 2, Y, X + a / 4, Y);
  78. g.DrawLine(olovka, X - a / 2, Y, X - a / 2, Y + b / 2);
  79. g.DrawLine(olovka, X + a / 2, Y, X + a / 2, Y + b / 2);
  80. g.DrawLine(olovka, X - a / 4, Y, X - a / 4, Y - b / 2);
  81. g.DrawLine(olovka, X + a / 4, Y, X + a / 4, Y - b / 2);
  82. cetka.Color = Color.Black;
  83. g.FillEllipse(cetka, X - a / 4 - a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
  84. g.FillEllipse(cetka, X + a / 4 - a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
  85. }
  86. #endregion
  87. }
  88. public class Kamion : Vozilo
  89. {
  90. #region konstruktori
  91. public Kamion(int X, int Y, int a, int b, Color boja)
  92. : base(X, Y, a, b, boja)
  93. { }
  94. #endregion
  95. #region metode
  96. public override void Crtaj(Graphics g)
  97. {
  98. SolidBrush cetka = new SolidBrush(boja);
  99. Pen olovka = new Pen(Color.Black);
  100. g.FillRectangle(cetka, X - a / 2, Y - b / 2, a, b);
  101. g.DrawRectangle(olovka, X - a / 2, Y - b / 2, a, b);
  102. g.DrawLine(olovka, X + a / 2, Y - b / 4, X + 3 * a / 4, Y - b / 4);
  103. g.DrawLine(olovka, X + 3 * a / 4, Y - b / 4, X + a, Y);
  104. g.DrawLine(olovka, X + a, Y, X + a, Y + b / 2);
  105. g.DrawLine(olovka, X + a, Y + b / 2, X + a / 2, Y + b / 2);
  106. cetka.Color = Color.Black;
  107. g.FillEllipse(cetka, X - a / 2 + a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
  108. g.FillEllipse(cetka, X + a / 4 + a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
  109. }
  110. #endregion
  111. }
  112. public class Autobus : Vozilo
  113. {
  114. #region konstruktori
  115. public Autobus(int X, int Y, int a, int b, Color boja)
  116. : base(X, Y, a, b, boja)
  117. { }
  118. #endregion
  119. #region metode
  120. public override void Crtaj(Graphics g)
  121. {
  122. SolidBrush cetka = new SolidBrush(boja);
  123. Pen olovka = new Pen(Color.Black);
  124. g.FillRectangle(cetka, X - 2 * a / 3, Y - b / 2, 4 * a / 3, b);
  125. g.DrawRectangle(olovka, X - 2 * a / 3, Y - b / 2, 4 * a / 3, b);
  126. cetka.Color = Color.LightBlue;
  127. g.FillRectangle(cetka, X - 2 * a / 3 + a / 10, Y - b / 2 + b / 10, 4 * a / 3 - a / 5, b / 2);
  128. g.DrawRectangle(olovka, X - 2 * a / 3 + a / 10, Y - b / 2 + b / 10, 4 * a / 3 - a / 5, b / 2);
  129. cetka.Color = Color.Black;
  130. g.FillEllipse(cetka, X - a / 4 - a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
  131. g.FillEllipse(cetka, X + a / 4 - a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
  132. }
  133. #endregion
  134. }
  135.  
  136. }
Add Comment
Please, Sign In to add comment