Лабораторная работа №1

This commit is contained in:
Esenia12 2024-02-18 18:04:32 +04:00
parent ae71f42613
commit fddd767e57
4 changed files with 30 additions and 235 deletions

View File

@ -40,6 +40,8 @@ public class DrawningDumpTrack
/// </summary>
private readonly int _drawningDumpTrackHeight = 90;
/// <summary>
/// Инициализация свойств
/// </summary>
@ -50,16 +52,20 @@ public class DrawningDumpTrack
/// <param name="bodywork">Признак наличия кузова</param>
/// <param name="awning">Признак наличия тента</param>
public void Init(int speed, double weight, Color bodyColor, Color additionalColor, bool bodywork, bool awning)
{
EntityDumpTruck = new EntityDumpTruck();
EntityDumpTruck.Init(speed, weight, bodyColor, additionalColor, bodywork, awning);
EntityDumpTruck.Init(speed, weight, bodyColor, additionalColor, bodywork, awning);
_pictureWidth = null;
_pictureHeight = null;
_startPosX = null;
_startPosY = null;
}
/// <summary>
/// Установка границ поля
/// </summary>
@ -70,14 +76,11 @@ public class DrawningDumpTrack
{
// TODO проверка, что объект "влезает" в размеры поля
// если влезает, сохраняем границы и корректируем позицию объекта, если она была уже установлена
if (_drawningDumpTrackWidth > width)
if (_drawningDumpTrackWidth > width || _drawningDumpTrackHeight > height)
{
width += _drawningDumpTrackWidth-width;
}
if (_drawningDumpTrackHeight > height)
{
height += _drawningDumpTrackHeight-height;
return false;
}
_pictureWidth = width;
_pictureHeight = height;
return true;
@ -96,7 +99,7 @@ public class DrawningDumpTrack
}
// TODO если при установке объекта в эти координаты, он будет "выходить" за границы формы
// то надо изменить координаты, чтобы он оставался в этих границах
if (x + _drawningDumpTrackWidth > _pictureWidth)
if (x + _drawningDumpTrackWidth > _pictureWidth )
{
x -= _drawningDumpTrackWidth - (int)_pictureWidth;
}
@ -104,8 +107,19 @@ public class DrawningDumpTrack
{
y -= _drawningDumpTrackHeight - (int)_pictureHeight;
}
if (x < 0)
{
x = 0;
}
if (y < 0)
{
y = 0;
}
_startPosX = x;
_startPosY = y;
}
/// <summary>
/// Изменение направления перемещения
@ -201,231 +215,7 @@ public class DrawningDumpTrack
g.FillRectangle(border, _startPosX.Value+30, _startPosY.Value, 3, 40);
g.FillRectangle(border, _startPosX.Value+70, _startPosY.Value, 3, 40);
}
}
}

View File

@ -60,6 +60,9 @@ public class EntityDumpTruck
Awning = awning;
}
}

View File

@ -52,7 +52,8 @@ namespace ProjectDumpTruck
Draw();
}
/// <summary>
/// Перемещение объекта по форме (нажатие кнопок навигации)
/// </summary>

View File

@ -12,6 +12,7 @@ namespace ProjectDumpTruck
// see https://aka.ms/applicationconfiguration.
ApplicationConfiguration.Initialize();
Application.Run(new FormTransport());
}
}
}