добавлена автобусная остановка, осталось дописать setObjectsPositions

This commit is contained in:
tyxz0 2024-04-01 14:58:14 +04:00
parent 4d17d8edee
commit 15399b84b1
3 changed files with 43 additions and 6 deletions

View File

@ -17,7 +17,7 @@ public abstract class AbstractCompany
/// <summary>
/// Размер места(ширина)
/// </summary>
protected readonly int _placeSizeWidth = 210;
protected readonly int _placeSizeWidth = 130;
/// <summary>
/// Размер места(высота)

View File

@ -9,17 +9,54 @@ namespace DoubleDeckerBus.CollectionGenericObjects;
public class BusStation : AbstractCompany
{
private int[]? _arrayOfCoordinates;
public BusStation(int picWidth, int picHeight, ICollectionGenericObjects<DrawingBus> collection) : base(picWidth, picHeight, collection)
{
}
protected override void DrawBackground(Graphics g)
{
throw new NotImplementedException();
Pen pen = new Pen(Color.Black, 3);
int gap = 15;
int y = 10;
int size_of_array = 2;
while (y + _placeSizeHeight < _pictureHeight - gap)
{
int x = _pictureWidth - gap;
while (x - _placeSizeWidth > gap)
{
g.DrawLine(pen, x, y, x - _placeSizeWidth, y);
g.DrawLine(pen, x, y, x, y + _placeSizeHeight);
g.DrawLine(pen, x, y + _placeSizeHeight, x - _placeSizeWidth, y + _placeSizeHeight);
Array.Resize(ref _arrayOfCoordinates, size_of_array);
_arrayOfCoordinates[size_of_array - 2] = x;
_arrayOfCoordinates[size_of_array - 1] = y;
x -= (_placeSizeWidth + 70);
}
y += _placeSizeHeight;
size_of_array += 2;
}
}
protected override void SetObjectsPosition()
{
throw new NotImplementedException();
if (_arrayOfCoordinates == null || _collection == null)
{
return;
}
for (int i = 0, coordinate_index = 0; i < _collection.Count; i++, coordinate_index += 2)
{
_collection.Get(i)?.SetPictureSize(_pictureWidth, _pictureHeight);
_collection.Get(i)?.SetPosition(_arrayOfCoordinates[coordinate_index], _arrayOfCoordinates[coordinate_index + 1]);
}
}
}

View File

@ -51,7 +51,7 @@
groupBoxTools.Controls.Add(buttonAddBus);
groupBoxTools.Controls.Add(comboBoxSelectCompany);
groupBoxTools.Dock = DockStyle.Right;
groupBoxTools.Location = new Point(600, 0);
groupBoxTools.Location = new Point(870, 0);
groupBoxTools.Name = "groupBoxTools";
groupBoxTools.Size = new Size(200, 450);
groupBoxTools.TabIndex = 0;
@ -138,7 +138,7 @@
pictureBox.Dock = DockStyle.Fill;
pictureBox.Location = new Point(0, 0);
pictureBox.Name = "pictureBox";
pictureBox.Size = new Size(600, 450);
pictureBox.Size = new Size(870, 450);
pictureBox.TabIndex = 1;
pictureBox.TabStop = false;
//
@ -146,7 +146,7 @@
//
AutoScaleDimensions = new SizeF(7F, 15F);
AutoScaleMode = AutoScaleMode.Font;
ClientSize = new Size(800, 450);
ClientSize = new Size(1070, 450);
Controls.Add(pictureBox);
Controls.Add(groupBoxTools);
Name = "FormBusCollection";