public DuplicationsDetectPolicy(StateQueue <BoxState> queue) { if (queue == null) { throw new ArgumentNullException("queue"); } this.queue = queue; }
public KakuMovingDuplicationsDetectPolicy(Map map, StateQueue <KakuBoxState> queue) { if (map == null) { throw new ArgumentNullException("map"); } if (queue == null) { throw new ArgumentNullException("queue"); } this.map = map; this.queue = queue; }
public MovingPathFinder(Map map, T start) { if (map == null) { throw new ArgumentNullException("map"); } if (start.IsOverlapping) { throw new ArgumentException("start is overlapping."); } if (!start.IsMeetMap(map)) { throw new ArgumentException("start does not meet the map."); } this.map = map; this.start = start; queue = new StateQueue <T>(); queue.Add(start); checker = new MovingChecker(); }