2009-11-02 4 views
0

일반적인 디자인 질문이 있습니다 : 4 개의 도로가 연결되어있는 교차점이 있습니다. 각 도로에는 2 차선이 있습니다. 이러한 접합을 처리 할 수있는 프로그램을 설계하는 가장 좋은 방법은 무엇입니까? 서로 간섭하지 않으면 2 대의 자동차 2가 교차로를 통과해야합니다. 1 차가 다른 차량보다 먼저 들어 왔고 둘 다 교차점의 같은 부분을 사용해야합니다. 첫 번째 차가 우선 순위에 있어야합니다. 또한 2 대의 자동차가 정확히 같은 시간에 교차로에 도착할 수 있습니다. 이 문제에 가장 적합한 디자인은 무엇입니까? 접합부를 최대한 활용할 수 있도록 정확히 고정해야하는 것은 무엇입니까?일반적인 디자인 질문

감사합니다.

+0

이 숙제가 있습니까? (그 경우 [숙제] 태그로 태그를 달아주세요, 감사합니다) – mjv

+0

제목을 좀 더 구체적으로 지정하는 것이 좋습니다 ... – Mathias

+0

게시 후 편집 할 수 있습니까? – user200797

답변

0

각 차는 트로프를 통과 할 차선 부분을 잠궈 야합니다. 부품 중 하나가 잠겨 있으면 자동차는 해제 될 때까지 기다려야합니다.

+0

ok -하지만 정확히 구현할 예정입니까? 잠글 개체는 무엇입니까? 아마 접합부를 4 부분으로 나누고 접합부가 통과 할 때마다 잠글 필요가있을 것입니다. 하지만 좋은 구현을 제안 할 수 있습니까? – user200797

+0

사진을 찍으십시오. 직선 만하면됩니다. 그러면 자동차가 거기에 갈 때 잠금/잠금 해제되어야 할 네 개의 사각형이 보일 것입니다. – Jonas

+0

나는 동의한다. 그러나 세부에 도착하면, 그것은 복잡하게된다. 내가 A, B, C, D의 4 개의 객체를 가지고 있다고 가정 해 보겠습니다. 내가 4 대의 자동차를 가지고 있고 그들이 오는 방향으로 표시한다고 가정 해 봅시다 : N (북쪽), S, E, W. 이제 자동차 W가 왼쪽으로 회전하기를 원하면 잠겨 야합니다 (교차점에 들어가기 전에) C, D, B. 그리고 교차점을 떠날 때에 만 자유롭게 해주십시오. 다른 자동차가 들어올 때, 어떻게 기다려야합니까? 대기열은 좋지 않습니다. 도로의 가용성이 도착 순서와 반드시 일치하지는 않기 때문입니다. 예를 들어, 누구나 구현을 suggect 할 수 있습니까? – user200797

0

접합점의 각 부분마다 4 개의 다른 대기열이 있다고 어떻게 생각하십니까? 들어오는 각 차는 관련 대기열에 들어갑니다 (하나 이상의 대기열에 들어가야합니까?), 그리고 차가 모든 대기열을 떠난 후에 만 ​​접합점을 통과 할 수 있습니다. 그래도 가장 좋은 구현은 무엇인지 확실하지 않습니다.

0

교차로에서 각 도로 (인바운드 용, 아웃 바운드 용) 회의 두 개의 항목이있는 원 버퍼를 만듭니다.

경로를 지정해야하는 차량의 경우 발신지 (인바운드) 및 목적지 (아웃 바운드)에 대한 이름을 원 버퍼에 넣습니다. 그런 다음 동일한 차의 두 인스턴스가 함께 있으면 차가 이동할 수있는 경우 원 버퍼를 반복합니다. 그 후 다른 차들에서 무작위로 선택하십시오.

나는 그것이 N, E, S 및 W라고 부를 것 인 4 개의 길과 교차로를 고려하면 꽤 불분명하다라고 느낀다. 그것에 우리는 3 대의 자동차를 가질 것이다. 남쪽을 여행하는 북쪽과 C를 서쪽에서 동쪽으로 여행합니다.

원형 버퍼 (예 : I = 인바운드, O = 아웃 바운드로 구축 할 수 :

Ni No Ei Eo Si So Wi Wo 
B - C A A B - C 

왼쪽에서 오른쪽으로 우리는 우리가 두 개의 A의 그래서 그들이 갈 수있는 인접 실현을 통해 반복으로하지만, B의 그리고 C는 서로 인접 해 있지 않으므로이 차들은 서로를 막습니다.이 가벼운 사이클을 위해 무작위로 하나 선택하고 다음 조명주기에 다른 하나를 가도록하십시오. 그러면 A와 B 중 하나를 선택하거나 A와 C 중 하나를 선택하십시오.

참고 1 : 인접 테스트는 공백을 무시하므로

북쪽으로 주행하는 차와 남향으로 E와 D가 모두 인접한 차를 모델링합니다.

주 2 : 필자는 왼쪽에서 운전하기 때문에이를 매핑했습니다. 오른쪽 운전을 위해 그것을 미러링해야합니다.

주 3 : 두 대의 자동차가 자동으로 차단하는 동일한 목적지를 원한다면 버퍼의 위치를 ​​덮어 쓸 수 없으며 다음 번에 다른 차량을 고려해야합니다.