Доработка отрисовки хранилища.
This commit is contained in:
parent
3818ea591b
commit
fb505d1628
@ -134,8 +134,7 @@ public class MapWithSetPlanesGeneric <T extends IDrawningObject, U extends Abstr
|
||||
}
|
||||
|
||||
//отрисовка разметки взлётной полосы
|
||||
g2d.setColor(Color.WHITE);
|
||||
g2d.fillRect(_placeSizeWidth * 2 + 30, 0, 185, _pictureHeight);
|
||||
g2d.setColor(Color.DARK_GRAY);
|
||||
g2d.fillRect(_placeSizeWidth * 2 + 35, 0, 175, _pictureHeight);
|
||||
|
||||
g2d.setStroke(new BasicStroke(5));
|
||||
@ -146,12 +145,13 @@ public class MapWithSetPlanesGeneric <T extends IDrawningObject, U extends Abstr
|
||||
g2d.drawLine(_placeSizeWidth * 2 + 30, 0, _placeSizeWidth * 2 + 30, _pictureHeight);
|
||||
|
||||
g2d.setStroke(new BasicStroke(5));
|
||||
g2d.setColor(new Color(0xFF, 0x45, 0x00));
|
||||
g2d.setColor(Color.WHITE);
|
||||
for (int i = 0; i < _pictureHeight / _placeSizeHeight; ++i)
|
||||
{
|
||||
g2d.drawLine(_placeSizeWidth * 2 + 125, 20 + i * _placeSizeHeight, _placeSizeWidth * 2 + 125, (i + 1) * _placeSizeHeight - 20);
|
||||
}
|
||||
|
||||
g2d.setColor(new Color(0xFF, 0x45, 0x00));
|
||||
for(int i = 0; i < _pictureHeight / 20; i++)
|
||||
{
|
||||
g2d.drawLine(_placeSizeWidth * 2 + 15, 20 + i * _placeSizeHeight / 2, _placeSizeWidth * 2 + 15, (i + 1) * _placeSizeHeight / 2 - 20);
|
||||
@ -178,6 +178,7 @@ public class MapWithSetPlanesGeneric <T extends IDrawningObject, U extends Abstr
|
||||
//метод прорисовки объеков
|
||||
public void DrawPlanes(Graphics g)
|
||||
{
|
||||
|
||||
int position = 0;
|
||||
int currentWidth = 1;
|
||||
int currentHeight = 5;
|
||||
|
@ -24,37 +24,43 @@ public class SetPlanesGeneric<T extends Object>
|
||||
//добавление объекта в набор на конкретную позицию
|
||||
public int Insert(T plane, int position)
|
||||
{
|
||||
// проверка позиции
|
||||
//проверка на корректность значения индекса
|
||||
if (position >= _places.length || position < 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
//проверка, что элемент массива по этой позиции пустой, если нет, то
|
||||
//проверка ячейки на пустоту
|
||||
if (_places[position] == null)
|
||||
{
|
||||
_places[position] = plane;
|
||||
|
||||
return position;
|
||||
}
|
||||
|
||||
//проверка, что после вставляемого элемента в массиве есть пустой элемент
|
||||
int findEmptyPos = -1;
|
||||
|
||||
//поиск первой свободной ячейки
|
||||
int _emptyPositionIndex = -1;
|
||||
for (int i = position + 1; i < Count(); i++)
|
||||
{
|
||||
if (_places[i] == null)
|
||||
{
|
||||
findEmptyPos = i;
|
||||
_emptyPositionIndex = i;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (findEmptyPos < 0)
|
||||
//есла пустых ячеек нет
|
||||
if (_emptyPositionIndex < 0)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
|
||||
// вставка по позиции
|
||||
//сдвиг объектов
|
||||
for (int i = _emptyPositionIndex; i > position; i--)
|
||||
{
|
||||
_places[i] = _places[i - 1];
|
||||
}
|
||||
|
||||
_places[position] = plane;
|
||||
|
||||
return position;
|
||||
|
Loading…
Reference in New Issue
Block a user