| | |
| | | |
| | | // 正序 |
| | | public static final List<Integer> TRACK_POSITION_POSITIVE_SEQUENCE = new ArrayList<Integer>() {{ |
| | | add(1);add(2);add(3);add(4);add(5);add(6);add(7);add(8);add(9);add(10);add(11);add(12); |
| | | add(101);add(102);add(104);add(105);add(107);add(118);add(108);add(119);add(110);add(120);add(111);add(121);add(113);add(114);add(116);add(117); |
| | | }}; |
| | | // 反序 |
| | | public static final List<Integer> TRACK_POSITION_REVERSE_SEQUENCE = new ArrayList<Integer>() {{ |
| | | add(12);add(11);add(10);add(9);add(8);add(7);add(6);add(5);add(4);add(3);add(2);add(1); |
| | | add(117);add(116);add(114);add(113);add(121);add(111);add(120);add(110);add(119);add(108);add(118);add(107);add(105);add(104);add(102);add(101); |
| | | }}; |
| | | |
| | | public static String zerofill(String msg, Integer count){ |
| | |
| | | |
| | | // 获取当前小车未行走的路线集合 |
| | | public static List<Integer> getRoute(Integer groupStart,Integer groupEnd){ |
| | | boolean sign = groupStart < groupEnd; |
| | | boolean sign = TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(groupStart) < TRACK_POSITION_POSITIVE_SEQUENCE.indexOf(groupEnd); |
| | | List<Integer> result = new ArrayList<>(); |
| | | List<Integer> groupRoute = null; |
| | | List<Integer> groupRoute = new ArrayList<>(); |
| | | if (sign){ |
| | | groupRoute = TRACK_POSITION_POSITIVE_SEQUENCE; |
| | | }else { |
| | |
| | | } |
| | | } |
| | | |
| | | /* |
| | | * a 小车当前位置 |
| | | * b 小车任务开始位置 |
| | | * c 小车任务结束位置 |
| | | * sign 另一个小车空闲标记 |
| | | * */ |
| | | public static boolean RouteAutoBoolean(Integer a,Integer b,Integer c,Integer aa,Integer bb,Integer cc,boolean idleOther){ |
| | | List<Integer> routeCurrent = getRouteIntersection(getRoute(a, c), getRoute(b, c), RouteCollectCountType.DEDUPLICATIONUNION);//并集 |
| | | List<Integer> routeOther = getRouteIntersection(getRoute(aa, cc), getRoute(bb, cc), RouteCollectCountType.DEDUPLICATIONUNION);// |
| | | return !getRouteBoolean(routeCurrent, routeOther); //是否有交集 |
| | | } |
| | | |
| | | public static void main(String[] arge){ |
| | | List<Integer> routeCurrent = getRoute(2, 9); //获取当前小车路径 |
| | | List<Integer> routeOther = getRoute(12, 5); //获取其它小车路径 |
| | | List<Integer> routeCurrent = getRoute(104, 119); //获取当前小车路径 |
| | | List<Integer> routeOther = getRoute(117, 118); //获取其它小车路径 |
| | | System.out.println("当前小车路径:\t"+routeCurrent); |
| | | System.out.println("其它小车路径:\t"+routeOther); |
| | | |
| | |
| | | |
| | | List<Integer> routeIntersection3 = getRouteIntersection(routeCurrent, routeOther, RouteCollectCountType.DEDUPLICATIONUNION);//去重并集 |
| | | System.out.println("路径去重并集:\t"+routeIntersection3); |
| | | |
| | | System.out.println(RouteAutoBoolean(101,104,119,114,116,120,true)); |
| | | } |
| | | |
| | | } |