Исправление выхода за границы массива

This commit is contained in:
m1aksim1 2022-10-13 14:36:02 +04:00
parent 10a75c38fc
commit 9e57fd3aeb
2 changed files with 9 additions and 10 deletions

View File

@ -32,17 +32,17 @@ namespace WarPlanes
}
public Bitmap MoveObject(Direction direction)
{
// TODO проверка, что объект может переместится в требуемом направлении
float xStep = 0;
float yStep = 0;
RectangleF rectObject = _drawningObject.GetCurrentPosition();
if (direction == Direction.Up) yStep = -_drawningObject.Step;
else if (direction == Direction.Down) yStep = +_drawningObject.Step;
else if (direction == Direction.Left) xStep = -_drawningObject.Step;
else if (direction == Direction.Right) xStep = _drawningObject.Step;
rectObject.X += xStep;
rectObject.Y += yStep;
if (direction == Direction.Up) rectObject.Y -= _drawningObject.Step;
else if (direction == Direction.Down) rectObject.Y += _drawningObject.Step;
else if (direction == Direction.Left) rectObject.X -= _drawningObject.Step;
else if (direction == Direction.Right) rectObject.X += _drawningObject.Step;
if(rectObject.X < 0 || rectObject.Right >= _width || rectObject.Y < 0 || rectObject.Bottom >= _height)
{
return DrawMapWithObject();
}
if (isCollision(rectObject))
{
_drawningObject.MoveObject(direction);

View File

@ -29,7 +29,6 @@
void IDrawningObject.DrawningObject(Graphics g)
{
_warplane.DrawTransport(g);
// TODO
}
}
}