Odnośnie samego kodu nie będę nic pisał, bo jest masa rzeczy do poprawy, wiec od razu przejdę do błędu.
for (i = 0; i <= przeciwnicy.length; i++) {
przeciwnik = przeciwnicy[i];
//console.log(przeciwnik);
przeciwnik.strzal();
przeciwnik.move();
}
powyższa pętla jest błędna, dlatego wyskakuje ci błąd. Zamiast mniejsze równe powinno być samo mniejsze, o tak.
for (i = 0; i < przeciwnicy.length; i++) {
przeciwnik = przeciwnicy[i];
//console.log(przeciwnik);
przeciwnik.strzal();
przeciwnik.move();
}