Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using System.Drawing;
- namespace KlasaVozilo
- {
- abstract public class Vozilo
- {
- #region atributi
- protected int x, y; //položaj
- protected int a, b; //dimenzije
- protected int dx; //brzina
- protected Color boja;
- #endregion
- #region svojstva
- public int X
- {
- get { return x; }
- set { x = value; }
- }
- public int Y
- {
- get { return y; }
- set { y = value; }
- }
- #endregion
- #region konstruktori
- public Vozilo()
- {
- this.x = 0;
- this.y = 0;
- this.a = 0;
- this.b = 0;
- this.boja = Color.White;
- }
- public Vozilo(int х, int у, int a, int b, Color boja)
- {
- this.x = х; this.y = у; this.a = a; this.b = b; this.boja = boja;
- }
- #endregion
- #region metode
- public void Pokreni(int dx)
- {
- this.dx = dx;
- }
- public void Zaustavi()
- {
- this.dx = 0;
- }
- public void Pomeri()
- {
- x += dx;
- }
- abstract public void Crtaj(Graphics g);
- #endregion
- }
- public class Auto : Vozilo
- {
- #region konstruktori
- public Auto(int X, int Y, int a, int b, Color boja)
- : base(X, Y, a, b, boja)
- { }
- #endregion
- #region metode
- public override void Crtaj(Graphics g)
- {
- SolidBrush cetka = new SolidBrush(boja);
- Pen olovka = new Pen(Color.Black);
- g.FillRectangle(cetka, X - a / 4, Y - b / 2, a / 2, b / 2);
- g.FillRectangle(cetka, X - a / 2, Y, a, b / 2);
- g.DrawLine(olovka, X - a / 4, Y - b / 2, X + a / 4, Y - b / 2);
- g.DrawLine(olovka, X - a / 2, Y + b / 2, X + a / 2, y + b / 2);
- g.DrawLine(olovka, X - a / 2, Y, X - a / 4, Y);
- g.DrawLine(olovka, X + a / 2, Y, X + a / 4, Y);
- g.DrawLine(olovka, X - a / 2, Y, X - a / 2, Y + b / 2);
- g.DrawLine(olovka, X + a / 2, Y, X + a / 2, Y + b / 2);
- g.DrawLine(olovka, X - a / 4, Y, X - a / 4, Y - b / 2);
- g.DrawLine(olovka, X + a / 4, Y, X + a / 4, Y - b / 2);
- cetka.Color = Color.Black;
- g.FillEllipse(cetka, X - a / 4 - a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
- g.FillEllipse(cetka, X + a / 4 - a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
- }
- #endregion
- }
- public class Kamion : Vozilo
- {
- #region konstruktori
- public Kamion(int X, int Y, int a, int b, Color boja)
- : base(X, Y, a, b, boja)
- { }
- #endregion
- #region metode
- public override void Crtaj(Graphics g)
- {
- SolidBrush cetka = new SolidBrush(boja);
- Pen olovka = new Pen(Color.Black);
- g.FillRectangle(cetka, X - a / 2, Y - b / 2, a, b);
- g.DrawRectangle(olovka, X - a / 2, Y - b / 2, a, b);
- g.DrawLine(olovka, X + a / 2, Y - b / 4, X + 3 * a / 4, Y - b / 4);
- g.DrawLine(olovka, X + 3 * a / 4, Y - b / 4, X + a, Y);
- g.DrawLine(olovka, X + a, Y, X + a, Y + b / 2);
- g.DrawLine(olovka, X + a, Y + b / 2, X + a / 2, Y + b / 2);
- cetka.Color = Color.Black;
- g.FillEllipse(cetka, X - a / 2 + a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
- g.FillEllipse(cetka, X + a / 4 + a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
- }
- #endregion
- }
- public class Autobus : Vozilo
- {
- #region konstruktori
- public Autobus(int X, int Y, int a, int b, Color boja)
- : base(X, Y, a, b, boja)
- { }
- #endregion
- #region metode
- public override void Crtaj(Graphics g)
- {
- SolidBrush cetka = new SolidBrush(boja);
- Pen olovka = new Pen(Color.Black);
- g.FillRectangle(cetka, X - 2 * a / 3, Y - b / 2, 4 * a / 3, b);
- g.DrawRectangle(olovka, X - 2 * a / 3, Y - b / 2, 4 * a / 3, b);
- cetka.Color = Color.LightBlue;
- g.FillRectangle(cetka, X - 2 * a / 3 + a / 10, Y - b / 2 + b / 10, 4 * a / 3 - a / 5, b / 2);
- g.DrawRectangle(olovka, X - 2 * a / 3 + a / 10, Y - b / 2 + b / 10, 4 * a / 3 - a / 5, b / 2);
- cetka.Color = Color.Black;
- g.FillEllipse(cetka, X - a / 4 - a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
- g.FillEllipse(cetka, X + a / 4 - a / 6, Y + b / 2 - a / 6, a / 3, a / 3);
- }
- #endregion
- }
- }
Add Comment
Please, Sign In to add comment