Код IT
← Каталог

Java — Java Survivors — Этап 10 — контактный урон, броня, реген

Фрагмент из «Java — Java Survivors»: Этап 10 — контактный урон, броня, реген.

java spinoffencyclopedia9-04-razrabotka-igr-praktikum-razrabotki-igr-8 embed URL статья в энциклопедии
Java main.java
double contactDamageTimer = 0;

// в update:
player.heal(dt);
contactDamageTimer -= dt;
if (contactDamageTimer <= 0) {
    double sum = 0;
    for (Enemy e : enemies) {
        if (circlesHit(player.x, player.y, player.radius, e.x, e.y, e.radius)) {
            sum += 3.5;
        }
    }
    if (sum > 0) {
        double incoming = sum * (1.0 - player.armorReduction);
        player.hp -= incoming;
        contactDamageTimer = 0.25;
        if (player.hp <= 0) {
            player.hp = 0;
            gameState = GameState.GAME_OVER;
        }
    }
}
double contactDamageTimer = 0;

// в update:
player.heal(dt);
contactDamageTimer -= dt;
if (contactDamageTimer <= 0) {
    double sum = 0;
    for (Enemy e : enemies) {
        if (circlesHit(player.x, player.y, player.radius, e.x, e.y, e.radius)) {
            sum += 3.5;
        }
    }
    if (sum > 0) {
        double incoming = sum * (1.0 - player.armorReduction);
        player.hp -= incoming;
        contactDamageTimer = 0.25;
        if (player.hp <= 0) {
            player.hp = 0;
            gameState = GameState.GAME_OVER;
        }
    }
}