public void drawProp(Point point, IProp prop, List <Point> points, List <IProp> placedProps) { var offset = 1; var width = prop.Width(); var height = prop.Height(); for (var i = -offset; i < width + offset; i++) { for (var j = -offset; j < height + offset; j++) { var p2 = new Point(point.X + i, point.Y + j); points.Remove(p2); } } placedProps.Add(prop.GetPropAtPosition(point)); }