Код IT Загрузка примера кода…

Java main.java
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

final List<Enemy> enemies = new ArrayList<>();
final Random rng = new Random();
double spawnTimer = 0;
double worldTime = 0;

private void update(double dt) {
    if (gameState != GameState.PLAYING) return;
    worldTime += dt;
    player.updateMovement(dt, up, down, left, right, WIDTH, HEIGHT, 1.0);

    spawnTimer -= dt;
    if (spawnTimer <= 0) {
        spawnTimer = Math.max(0.15, 0.9 - worldTime * 0.004);
        enemies.add(spawnEnemy());
    }
    updateEnemies(dt);
}

private Enemy spawnEnemy() {
    double side = rng.nextDouble();
    double x, y;
    if (side < 0.25) { x = -40; y = rng.nextDouble() * HEIGHT; }
    else if (side < 0.5) { x = WIDTH + 40; y = rng.nextDouble() * HEIGHT; }
    else if (side < 0.75) { x = rng.nextDouble() * WIDTH; y = -40; }
    else { x = rng.nextDouble() * WIDTH; y = HEIGHT + 40; }
    double diff = 1.0 + worldTime * 0.02;
    return new Enemy(x, y, 14, 35 * diff, 90 + diff * 10, 2);
}

private void updateEnemies(double dt) {
    for (Enemy e : enemies) {
        double dx = player.x - e.x;
        double dy = player.y - e.y;
        double len = Math.hypot(dx, dy);
        if (len > 0.001) {
            e.x += (dx / len) * e.speed * dt;
            e.y += (dy / len) * e.speed * dt;
        }
    }
}
import java.util.ArrayList;
import java.util.List;
import java.util.Random;

final List<Enemy> enemies = new ArrayList<>();
final Random rng = new Random();
double spawnTimer = 0;
double worldTime = 0;

private void update(double dt) {
    if (gameState != GameState.PLAYING) return;
    worldTime += dt;
    player.updateMovement(dt, up, down, left, right, WIDTH, HEIGHT, 1.0);

    spawnTimer -= dt;
    if (spawnTimer <= 0) {
        spawnTimer = Math.max(0.15, 0.9 - worldTime * 0.004);
        enemies.add(spawnEnemy());
    }
    updateEnemies(dt);
}

private Enemy spawnEnemy() {
    double side = rng.nextDouble();
    double x, y;
    if (side < 0.25) { x = -40; y = rng.nextDouble() * HEIGHT; }
    else if (side < 0.5) { x = WIDTH + 40; y = rng.nextDouble() * HEIGHT; }
    else if (side < 0.75) { x = rng.nextDouble() * WIDTH; y = -40; }
    else { x = rng.nextDouble() * WIDTH; y = HEIGHT + 40; }
    double diff = 1.0 + worldTime * 0.02;
    return new Enemy(x, y, 14, 35 * diff, 90 + diff * 10, 2);
}

private void updateEnemies(double dt) {
    for (Enemy e : enemies) {
        double dx = player.x - e.x;
        double dy = player.y - e.y;
        double len = Math.hypot(dx, dy);
        if (len > 0.001) {
            e.x += (dx / len) * e.speed * dt;
            e.y += (dy / len) * e.speed * dt;
        }
    }
}