As the problem is stated, $f$ is a function with domain the set of all real numbers and codomain the set of positive real numbers and zero.
The action is $f(x)=(x+3)^2$, and the function is well defined, because for each $x\in\mathbb{R}$, $f(x)\in\mathbb{R}^+\cup\{0\}$.
Your strategy is good: since $f(-8)=(-8+3)^2=25$ and $f(2)=(2+3)^2=25$, the function is not one-to-one.
Just one example is sufficient. In order to prove that $f$ is one-to-one you have to see that for each choice of $x_1\ne x_2$ you have $f(x_1)\ne f(x_2)$ (or, which is the same, that $f(x_1)=f(x_2)$ implies $x_1=x_2$). Thus an example where this does not happen immediately proves the function is not one-to-one.
Were the function defined over $\mathbb{R}^+\cup\{0\}$ it would be one-to-one. Indeed, if $(x_1+3)^2=(x_2+3)^2$, we get either
$$
x_1+3=x_2+3
$$
(and so $x_1=x_2$), or
$$
x_1+3=-(x_2+3)
$$
or
$$
x_1+x_2=-6
$$
which is impossible if $x_1\ge0$ and $x_2\ge0$.
Of course the function would be also one-to-one if the domain was taken as the interval $[-3,\infty)$ (try it).