Исправления движения
This commit is contained in:
parent
077feaab14
commit
ee56e16284
@ -16,9 +16,9 @@ public class DiselLoko
|
||||
/// </summary>
|
||||
public Color ColorBody { get; private set; }
|
||||
/// <summary>
|
||||
/// цвет колеса
|
||||
/// цвет бака
|
||||
/// </summary>
|
||||
public Color ColorWheel { get; private set; }
|
||||
public Color ColorComportament { get; private set; }
|
||||
/// <summary>
|
||||
/// Признак наличия трубы
|
||||
/// </summary>
|
||||
@ -33,20 +33,20 @@ public class DiselLoko
|
||||
public double Step => Speed * 100 / Weight;
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// Инициализация
|
||||
/// </summary>
|
||||
/// <param name="speed"></param>
|
||||
/// <param name="weight"></param>
|
||||
/// <param name="colorBody"></param>
|
||||
/// <param name="colorWheel"></param>
|
||||
/// <param name="Comportament"></param>
|
||||
/// <param name="isTube"></param>
|
||||
/// <param name="isComportament"></param>
|
||||
public void Init(int speed, double weight, Color colorBody, Color colorWheel, bool isTube, bool isComportament)
|
||||
public void Init(int speed, double weight, Color colorBody, Color Comportament, bool isTube, bool isComportament)
|
||||
{
|
||||
Speed = speed;
|
||||
Weight = weight;
|
||||
ColorBody = colorBody;
|
||||
ColorWheel = colorWheel;
|
||||
ColorComportament = Comportament;
|
||||
IsTube = isTube;
|
||||
IsComportament = isComportament;
|
||||
}
|
||||
|
@ -49,14 +49,14 @@ public class DrawningDiselLoko
|
||||
/// <param name="speed">Скорость</param>
|
||||
/// <param name="weight">Вес</param>
|
||||
/// <param name="colorBody">Цвет тела</param>
|
||||
/// <param name="colorWheel">Цвет колёс</param>
|
||||
/// <param name="colorComportament">Цвет колёс</param>
|
||||
/// <param name="isTube">Признак езды</param>
|
||||
/// <param name="isComportament">Признак заполнености</param>
|
||||
|
||||
public void Init(int speed, double weight, Color colorBody, Color colorWheel, bool isTube, bool isComportament)
|
||||
public void Init(int speed, double weight, Color colorBody, Color colorComportament, bool isTube, bool isComportament)
|
||||
{
|
||||
DiselLoko = new DiselLoko();
|
||||
DiselLoko.Init(speed, weight, colorBody, colorWheel, isTube, isComportament);
|
||||
DiselLoko.Init(speed, weight, colorBody, colorComportament, isTube, isComportament);
|
||||
_pictureWidth = null;
|
||||
_pictureHeight = null;
|
||||
_startPosX = null;
|
||||
@ -140,14 +140,14 @@ public class DrawningDiselLoko
|
||||
return true;
|
||||
// вправо
|
||||
case Direction.Right:
|
||||
if (_startPosX.Value + DiselLoko.Step + _drawingCarWidth/2 < _pictureWidth.Value - _drawingCarWidth)
|
||||
if (_startPosX.Value + DiselLoko.Step +40 < _pictureWidth.Value - _drawingCarWidth)
|
||||
{
|
||||
_startPosX += (int)DiselLoko.Step;
|
||||
}
|
||||
return true;
|
||||
//вниз
|
||||
case Direction.Down:
|
||||
if (_startPosY.Value + DiselLoko.Step + _drawingCarWidth / 4 < _pictureHeight.Value - _drawingCarHeight)
|
||||
if (_startPosY.Value + DiselLoko.Step + 10< _pictureHeight.Value - _drawingCarHeight)
|
||||
{
|
||||
_startPosY += (int)DiselLoko.Step;
|
||||
}
|
||||
@ -171,7 +171,7 @@ public class DrawningDiselLoko
|
||||
Pen pen = new(Color.Black);
|
||||
Brush additionalBrush = new SolidBrush(DiselLoko.ColorBody);
|
||||
Brush blueBrush = Brushes.Blue;
|
||||
Brush grayBrush = Brushes.Gray;
|
||||
|
||||
|
||||
|
||||
Pen blackPen = new Pen(Color.Black, 2);
|
||||
@ -186,7 +186,9 @@ public class DrawningDiselLoko
|
||||
new Point(_startPosX.Value-10, _startPosY.Value + _drawingCarHeight/2)
|
||||
|
||||
};
|
||||
g.DrawPolygon(blackPen, trainBody);
|
||||
Brush br = new SolidBrush(DiselLoko.ColorBody);
|
||||
g.FillPolygon(br, trainBody);
|
||||
|
||||
|
||||
//разделительная линия
|
||||
|
||||
@ -294,7 +296,8 @@ public class DrawningDiselLoko
|
||||
new Point(_startPosX.Value +130 , _startPosY.Value + _drawingCarHeight-5), // Нижний правый угол
|
||||
new Point(_startPosX.Value + 110, _startPosY.Value + _drawingCarHeight-5) // Нижний левый угол
|
||||
};
|
||||
g.FillPolygon(grayBrush, fuelTank);
|
||||
Brush br2 = new SolidBrush(DiselLoko.ColorComportament);
|
||||
g.FillPolygon(br2, fuelTank);
|
||||
g.DrawPolygon(blackPen, fuelTank);
|
||||
}
|
||||
|
||||
|
@ -50,7 +50,9 @@
|
||||
|
||||
Draw();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Кнопки движения
|
||||
/// </summary>
|
||||
private void ButtonMove_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (_drawningDiselLoko == null)
|
||||
|
@ -3,13 +3,11 @@ namespace PrLaba1
|
||||
internal static class Program
|
||||
{
|
||||
/// <summary>
|
||||
/// The main entry point for the application.
|
||||
/// Вход в программу
|
||||
/// </summary>
|
||||
[STAThread]
|
||||
static void Main()
|
||||
{
|
||||
// To customize application configuration such as set high DPI settings or default font,
|
||||
// see https://aka.ms/applicationconfiguration.
|
||||
ApplicationConfiguration.Initialize();
|
||||
Application.Run(new FormDiselLoko());
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user