khayashi4337 / IceSpearTD

「氷槍の塔」は、古代から伝わる魔法の力を守る秘境に位置する、伝説のタワーディフェンスゲームです。プレイヤーは「氷槍の塔」を守る守護者として、次々と押し寄せる敵の侵入を阻止する役割を果たします。
Apache License 2.0
0 stars 0 forks source link

1つのウェーブが長すぎる問題。 #31

Closed Niri-1214 closed 3 months ago

Niri-1214 commented 3 months ago

敵の数に比例してウェーブが長くなるようになっているせいで、1wave目が12秒で、2wave目が24、という風にとんでもないことになっている。

Niri-1214 commented 3 months ago

下のやつを適応するとできる。

function startWave() { if (isWaveInProgress) { showError("Wave already in progress!"); return; } isWaveInProgress = true; waveEnemyCount = ( waveenemis + 3 ) * ( waveenemis - 1 ); // Increased enemy count for multiple paths totalEnemiesSpawned = 0;

        let enemiesSpawned = 0;
        const spawnInterval = setInterval(() => {
            const types = ['goblin', 'orc', 'skeleton', 'slime'];
            createEnemy(types[Math.floor(Math.random() * types.length)]);
            enemiesSpawned++;
            if (enemiesSpawned >= waveEnemyCount) {
                clearInterval(spawnInterval);
            }
        }, ( 7000 + wavefanction * 1000 ) / (( waveenemis + 3 ) * ( waveenemis - 1 )));
    }

下のやつを最初の” let ”の一覧みたいなとこに追加しとくと適応できる。 let wavefanction = Math.min( wave , 10 ); let waveenemis = Math.min( wave + 1 , 6 ); まだ未適応。