diff --git a/AircraftCarrier/AircraftCarrier/AbstractMap.cs b/AircraftCarrier/AircraftCarrier/AbstractMap.cs index b500cc8..be3e887 100644 --- a/AircraftCarrier/AircraftCarrier/AbstractMap.cs +++ b/AircraftCarrier/AircraftCarrier/AbstractMap.cs @@ -45,7 +45,6 @@ namespace AircraftCarrier yNumOfCells = (int)Math.Ceiling(_drawningObject.Step / _size_y); xObjOffset = (int)(Left / _size_x); yObjOffset = (int)Math.Floor(Top / _size_y); - for (int i = 0; i < yNumOfCells; i++) { if (!roadIsClear) @@ -71,7 +70,6 @@ namespace AircraftCarrier yNumOfCells = (int)Math.Ceiling(_drawningObject.Step / _size_y); xObjOffset = (int)(Left / _size_x); yObjOffset = (int)Math.Ceiling(Bottom / _size_y); - for (int i = 0; i < yNumOfCells; i++) { if (!roadIsClear) @@ -123,6 +121,7 @@ namespace AircraftCarrier yNumOfCells = (int)Math.Ceiling((Bottom - Top) / _size_y); xObjOffset = (int)(Right / _size_x); yObjOffset = (int)Math.Ceiling(Top / _size_y); + for (int i = 0; i < yNumOfCells; i++) { if (!roadIsClear) @@ -158,13 +157,11 @@ namespace AircraftCarrier } int x = _random.Next(0, 10); int y = _random.Next(50, 100); - (float Left, float Top, float Right, float Bottom) = _drawningObject.GetCurrentPosition(); int xNumOfCells = (int)Math.Ceiling(Right / _size_x) - (int)Math.Floor(Left / _size_x); int yNumOfCells = (int)Math.Ceiling(Bottom / _size_y) - (int)Math.Floor(Top / _size_y); int xObjOffset = (int)(x / _size_x); int yObjOffset = (int)(y / _size_y); - while (y < _height - (Bottom - Top)) { while (x < _width - (Right - Left)) @@ -181,7 +178,6 @@ namespace AircraftCarrier y += (int)_size_y; yObjOffset = (int)(y / _size_y); } - return false; } private bool AreaIsFree(int xNumOfCells, int yNumOfCells, int xObjOffset, int yObjOffset) diff --git a/AircraftCarrier/AircraftCarrier/DrawningAircraftCarrier.cs b/AircraftCarrier/AircraftCarrier/DrawningAircraftCarrier.cs index cbc032f..4306f0a 100644 --- a/AircraftCarrier/AircraftCarrier/DrawningAircraftCarrier.cs +++ b/AircraftCarrier/AircraftCarrier/DrawningAircraftCarrier.cs @@ -52,7 +52,6 @@ namespace AircraftCarrier { _startPosX = x; _startPosY = y; - _pictureWidth = width; _pictureHeigth = height; } @@ -127,15 +126,24 @@ namespace AircraftCarrier { _startPosX = _pictureWidth.Value - _aircraftcarrierWidth; } - if (_startPosY + _aircraftcarrierHeight > _pictureHeigth) { _startPosY = _pictureHeigth.Value - _aircraftcarrierHeight; } } + public (float Left, float Right, float Top, float Bottom) GetCurrentPosition() { return (_startPosX, _startPosY, _startPosX + _aircraftcarrierWidth, _startPosY + _aircraftcarrierHeight); } + + public void ReturnColor(Color returnColor) + { + if (AircraftCarrier is not EntityModernAircraftCarrier modernAircraftCarrier) + { + return; + } + modernAircraftCarrier.DopColor = returnColor; + } } } \ No newline at end of file