moveBall = ball => {
let {r, x, y, dx, dy, state} = ball;
x += dx, y += dy;
if (x < r) dx = Math.abs(dx);
if (x + r > w) dx = -Math.abs(dx);
if (y < r) dy = Math.abs(dy);
if (y + r > h) dy = -Math.abs(dy);
const bz = balls
bz.forEach(infectFrom);
ball = {r, x, y, dx, dy, state}
return ball;
}