Валидатор хочет проверку Х на достижение пределов ПОСЛЕ проверки направлений и изменения Х. Но. Зачем проверять Х < 0 после увеличения и на превышение ширины после уменьшения?
Хотелось так:
public void move() {
if (isAlive) {
if (direction == Direction.LEFT) {
x--;
// Х уменьшился, проверяем нижний предел:
if (x < 0) x = 0;
}
if (direction == Direction.RIGHT) {
x++;
// Х увеличился, проверяем верхний предел:
if (x + width > SpaceInvadersGame.WIDTH) x = SpaceInvadersGame.WIDTH - width;
}
}
}
А не пропускает(((
Но если проверки вынести вниз - то все хорошо, но лишнее действие.