public int posWalkForwards (int begin_pos,
                                int end_pos,
                                double tmr,
                                int end_time,
                                int standstill_pos,
                                int standstill_time,
                                int standstill_count) {
        if (tmr < standstill_time) {
            double step = (standstill_pos - begin_pos) / (double) standstill_time;
            return begin_pos + (int) (tmr * step);
        }
        else if (tmr >= standstill_time && tmr < standstill_time + standstill_count) {
            return standstill_pos;
        }
        else if (tmr >= standstill_time + standstill_count && tmr < end_time) {
            int beg2_time = standstill_time + standstill_count;
            double step = (end_pos - standstill_pos) / (double) (end_time - beg2_time);
            return standstill_pos + (int) ((tmr - beg2_time) * step);
        }
        else {
            return end_pos;
        }
    }