Почему валидатор так не любит стримы? Тесты ведь проверяют конечные значения
package com.javarush.games.spaceinvaders;
import com.javarush.engine.cell.*;
import com.javarush.games.spaceinvaders.gameobjects.EnemyFleet;
import com.javarush.games.spaceinvaders.gameobjects.Star;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.stream.IntStream;
public class SpaceInvadersGame extends Game {
public static final int WIDTH = 64;
public static final int HEIGHT = 64;
private List<Star> stars;
private EnemyFleet enemyFleet;
public static void main(String[] args) {
SpaceInvadersGame game = new SpaceInvadersGame();
game.initialize();
}
@Override
public void initialize() {
setScreenSize(WIDTH, HEIGHT);
createGame();
}
private void createGame() {
createStars();
enemyFleet = new EnemyFleet();
drawScene();
setTurnTimer(40);
}
private void drawScene() {
drawField();
enemyFleet.draw(this);
}
@Override
public void onTurn(int step) {
drawScene();
}
private void drawField() {
IntStream.range(0, WIDTH)
.forEach(x -> IntStream.range(0, HEIGHT)
.forEach(y -> setCellValueEx(x, y, Color.BLACK, "")));
stars.forEach(star -> star.draw(this));
}
private void createStars() {
Random random = new Random();
stars = new ArrayList<>();
IntStream.range(0, 8)
.forEach(uselessConsumer -> stars.add(new Star(random.nextInt(64), random.nextInt(64))));
}
}