@Override
    protected void performMove() {
        if (!isVisible()) {
            return;
        }

        super.performMove();

        
        
        if (y < Shared.MISSILE_HEIGHT) {
            setVisible(false);
        } else {

            Engine engine = Engine.getInstance();
            ArrayList<Invader> invaders = engine.getInvaders();

            for (Invader invader : invaders) {
                if (invader.isVisible() && invader.checkCollision(this)) {
                    invader.setVisible(false);
                    setVisible(false);
                    engine.getPlayer().increasePoints();
                    
                    Engine.getInstance().getSpace().addCrash(new Crash(getX(), getY() + (int) getPreferredSize().getHeight()));
                }
            }
        }
    }