Исправления движения

This commit is contained in:
Artem 2025-02-14 21:02:43 +04:00
parent 077feaab14
commit ee56e16284
4 changed files with 21 additions and 18 deletions

View File

@ -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;
}

View File

@ -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);
}

View File

@ -50,7 +50,9 @@
Draw();
}
/// <summary>
/// Кнопки движения
/// </summary>
private void ButtonMove_Click(object sender, EventArgs e)
{
if (_drawningDiselLoko == null)

View File

@ -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());
}