public void checkHit() {
        ArrayList<AmmoModel> removedShots = new ArrayList<>();
        ArrayList<EnemyModel> removedEnemies = new ArrayList<>();
        
        for (AmmoModel shot : shotsFired) {
            // Check if space ship is hit
            if (checkHit2(spaceShip, shot)) {
                spaceShip.setHealth(spaceShip.getHealth()-1);
                removedShots.add(shot);
            }
            
            // Check if enemy is hit, and remove it if destroyed
            for (EnemyModel enemy : enemyController.getShips()) {
                if (checkHit2(enemy, shot)) {
                    enemy.setHealth(-1);
                    removedShots.add(shot);
                    if (enemy.getHealth() <= 0) {
                        removedEnemies.add(enemy);
                    }
                }
            }
            enemyController.removeEnemies(removedEnemies);
            
            // Check if planets are hit, set as enemy if attacked
            for (PlanetModel planet : planetController.getPlanets()) {
                if (checkHit2(planet, shot) && shot.getType() != 2) {
                    removedShots.add(shot);
                    if (!planet.getName().equals("Earth")) {
                        planet.setAsEnemy();
                    }
                }
            }
        }
        removeBombList(removedShots);
    }