diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Drawnings/DrawningElectricLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/Drawnings/DrawningElectricLocomotive.cs
index aafc9d9..c9283c8 100644
--- a/ProjectElectricLocomotive/ProjectElectricLocomotive/Drawnings/DrawningElectricLocomotive.cs
+++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/Drawnings/DrawningElectricLocomotive.cs
@@ -15,7 +15,6 @@ public class DrawningElectricLocomotive : DrawningLocomotive
///
///
///
- ///
///
///
public DrawningElectricLocomotive(int speed, double weight, Color bodyColor, Color additionalColor, bool electricHorns, bool batteryPlacement) : base(83,45)
@@ -32,7 +31,7 @@ public class DrawningElectricLocomotive : DrawningLocomotive
//Создание перьев и кистей для прорисовки электровоза
Brush blackBrush = new SolidBrush(Color.Black);
- Pen penSolid = new(Color.Black, 2);
+ Pen penSolid = new(electricLocomotive.AdditionalColor, 2);
Pen penSolidYellow = new(Color.Yellow, 0.5f);
Brush additionalBrush = new SolidBrush(electricLocomotive.AdditionalColor);
@@ -40,7 +39,6 @@ public class DrawningElectricLocomotive : DrawningLocomotive
if (electricLocomotive.ElectricHorns)
{
-
//Инициализация опорных точек для прорисовки "рогов"
Point pointHorns1 = new Point(_startPosX.Value + 13, _startPosY.Value + 5);
Point pointHorns2 = new Point(_startPosX.Value + 16, _startPosY.Value + 2);
@@ -60,7 +58,7 @@ public class DrawningElectricLocomotive : DrawningLocomotive
Point pointLightning4 = new Point(_startPosX.Value + 37, _startPosY.Value + 41);
//Прорисовка "хранилища батарей" электровоза
- g.FillRectangle(blackBrush, _startPosX.Value + 36, _startPosY.Value + 37, 8, 4.5f);
+ g.FillRectangle(additionalBrush, _startPosX.Value + 36, _startPosY.Value + 37, 8, 4.5f);
g.DrawLine(penSolidYellow, pointLightning1, pointLightning2);
g.DrawLine(penSolidYellow, pointLightning2, pointLightning3);
g.DrawLine(penSolidYellow, pointLightning3, pointLightning4);
@@ -71,14 +69,6 @@ public class DrawningElectricLocomotive : DrawningLocomotive
base.DrawTransport(g);
_startPosY -= 5;
- //Опциональная прорисовка цвета передних колёс
- g.FillEllipse(additionalBrush, _startPosX.Value + 9, _startPosY.Value + 37, 8, 8);
- g.FillEllipse(additionalBrush, _startPosX.Value + 24, _startPosY.Value + 37, 8, 8);
-
- //Опциональная прорисовка цвета задних колёс
- g.FillEllipse(additionalBrush, _startPosX.Value + 25 + 26, _startPosY.Value + 37, 8, 8);
- g.FillEllipse(additionalBrush, _startPosX.Value + 25 + 37, _startPosY.Value + 37, 8, 8);
-
}
}
diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/Drawnings/DrawningLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/Drawnings/DrawningLocomotive.cs
index f48b627..b5c64de 100644
--- a/ProjectElectricLocomotive/ProjectElectricLocomotive/Drawnings/DrawningLocomotive.cs
+++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/Drawnings/DrawningLocomotive.cs
@@ -65,8 +65,6 @@ public class DrawningLocomotive
///
public int GetHeight => _drawningLocomotiveHeight;
-
-
///
/// Пустой конструктор
///
@@ -137,12 +135,9 @@ public class DrawningLocomotive
return;
}
-
_startPosX = x;
_startPosY = y;
-
-
if (_drawningLocomotiveHeight + y > _pictureHeight)
{
_startPosY = _pictureHeight - _drawningLocomotiveHeight;
@@ -229,6 +224,7 @@ public class DrawningLocomotive
Pen windowPen = new(Color.DeepSkyBlue);
Brush blackBrush = new SolidBrush(Color.Black);
Brush whiteBrush = new SolidBrush(Color.White);
+ Brush additionalBrush = new SolidBrush(EntityLocomotive.BodyColor);
//Инициализация опорных точек для прорисовки корпуса
Point pointStart = new Point(_startPosX.Value + 75, _startPosY.Value + 15);
@@ -285,7 +281,6 @@ public class DrawningLocomotive
g.FillRectangle(brWhite, _startPosX.Value + 36, _startPosY.Value + 11, 7, 10);
-
//Прорисовка передней и задней "юбки"
g.FillRectangle(blackBrush, _startPosX.Value + 7, _startPosY.Value + 32, 25, 5.3f);
g.FillRectangle(blackBrush, _startPosX.Value + 47, _startPosY.Value + 32, 22, 5.3f);
@@ -309,11 +304,11 @@ public class DrawningLocomotive
g.DrawRectangle(windowPen, _startPosX.Value + 63, _startPosY.Value + 4, 8, 8);
//Опциональная прорисовка цвета передних колёс
- g.FillEllipse(whiteBrush, _startPosX.Value + 9, _startPosY.Value + 32, 8, 8);
- g.FillEllipse(whiteBrush, _startPosX.Value + 24, _startPosY.Value + 32, 8, 8);
+ g.FillEllipse(additionalBrush, _startPosX.Value + 9, _startPosY.Value + 32, 8, 8);
+ g.FillEllipse(additionalBrush, _startPosX.Value + 24, _startPosY.Value + 32, 8, 8);
//Опциональная прорисовка цвета задних колёс
- g.FillEllipse(whiteBrush, _startPosX.Value + 25 + 26, _startPosY.Value + 32, 8, 8);
- g.FillEllipse(whiteBrush, _startPosX.Value + 25 + 37, _startPosY.Value + 32, 8, 8);
+ g.FillEllipse(additionalBrush, _startPosX.Value + 25 + 26, _startPosY.Value + 32, 8, 8);
+ g.FillEllipse(additionalBrush, _startPosX.Value + 25 + 37, _startPosY.Value + 32, 8, 8);
}
}
diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/MovementStrategy/IMoveableObject.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/MovementStrategy/IMoveableObject.cs
index 209f702..ecc6e64 100644
--- a/ProjectElectricLocomotive/ProjectElectricLocomotive/MovementStrategy/IMoveableObject.cs
+++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/MovementStrategy/IMoveableObject.cs
@@ -24,4 +24,10 @@ public interface IMoveableObject
/// Направление
/// True - объект перемещен, false - перемещение невозможно
bool TryMoveObject(MovementDirection direction);
+
+ ///
+ /// Метод интерфейса для доп.задания
+ ///
+ ///
+
}
diff --git a/ProjectElectricLocomotive/ProjectElectricLocomotive/MovementStrategy/MovableLocomotive.cs b/ProjectElectricLocomotive/ProjectElectricLocomotive/MovementStrategy/MovableLocomotive.cs
index d45a96a..ffd5249 100644
--- a/ProjectElectricLocomotive/ProjectElectricLocomotive/MovementStrategy/MovableLocomotive.cs
+++ b/ProjectElectricLocomotive/ProjectElectricLocomotive/MovementStrategy/MovableLocomotive.cs
@@ -64,4 +64,5 @@ public class MoveableLocomotive : IMoveableObject
_ => DirectionType.Unknow,
};
}
+
}