public static double MR(final Universe u, Player p, ArrayList<Action> a) {
        final Universe afterAction = new Universe(u);
        Player playerInNewUniverse;
        int i = 0;
        for (Player player: u.getPlayers()) {
            if (p.equals(player)) {
                break;
            }
            i++;
        }
        playerInNewUniverse = afterAction.getPlayers().get(i);
        for (Action action: a) {
            SpaceShip shipInNewUniverse;
            shipInNewUniverse = playerInNewUniverse.getNearestShip(action.ship.getX(), action.ship.getY());

            switch (action.action) {
                case MOVE_TO_EMPTY_PLANET:
                case MOVE_TO_ENEMY_PLANET:
                case MOVE_TO_ENEMY_SHIP:
                    shipInNewUniverse.setX(action.target.getX());
                    shipInNewUniverse.setY(action.target.getY());
                    break;
            }
        }
        for (int j = 0; j < 10; j++) {
            afterAction.tick();
        }
        return SEF(afterAction, playerInNewUniverse) - SEF(u, p);
    }