먼저 시작하기 앞서 완벽하게 비율이 정확한 스시는 아님 하지만 스시 벨트의 길이가 극단적으로 짧은 경우가 아니면 거의 비율은 비슷해질거라 생각함
가장 핵심인 이론은
스시벨트에 현재 가장 개수가 적은 아이템을 계속 올리면 결국 모든 아이템의 개수가 비슷해 질것이다
먼저 벨트위에 모든 아이템을 읽어오고 수량 비교에 입력하는데 일정 신호에 올리고 싶은 아이템을 모두 1씩 주고 이것도 수량비교기에 입력시켜줘야함
일정신호를 왜 쓰냐면 먼저 아이템이 0개가 되면 신호를 주지를 않기 때문에 실제로는 0개인 아이템을 올려야하지만 그렇지 않고 0보다 큰 가장 적은 아이템을 올리게되므로 1이란 신호를 그냥 주는거임 이거 안하면 아주 작은 확률이지만 예를 들어 벨트위에 구리를 다 쓰면 그 다음부턴 구리를 얹을 생각을 안함
그다음 작업은 벨트위에 가장 적은 아이템이 상자에 있는가? 라는 매커니즘임 가장 적은 아이템이 상자에 없다면 그 다음으로 적은 아이템을 얹는 작업을 해줄거임 이 과정을 안하게 되면 상자에 원하는(스시벨트에 가장 적은) 아이템이 없더라도 그 아이템만 멍청하게 투입기가 기다리게 됨 우리는 그걸 기다릴 시간이 없음 그다음으로 적은 아이템을 미리미리 벨트에 얹을거임
먼저 상자에 있는 아이템들을 모두 읽어서 1인 신호로 바꿀꺼임
Or 1과 And 1을 한번씩 맥여주면 (서순 중요) 모든 신호는 1로 바뀌게 됨 (2진법) 그래서 아이템이 없으면 신호가 없어지고, 있으면 1인 신호가 나가게 됨
두 신호를 곱해버리면 완성임 이 신호를 선택선별 조합기에 입력시키고 오름차순 한 다음 출력신호를 투입기 필터에 걸면 됨
스시벨트에 가장 적은 아이템이 상자에 있다면 올리게 되고 상자에 없으면 그 다음 적은 아이템으로 필터가 넘어가게 됨
물론 투입기에 활성화 조건으로 아무거나 신호가 N개보다 작게해서 개수도 조정해줘야함 벨트 한칸당 좌우로 4개씩 총 8개의 아이템이 올라 갈 수 있음
스시벨트에 올리고 싶은 아이템 종류와 벨트 개수를 잘 계산해서 설정해주면 됨
마지막 2개는 그냥 전체 완성된 모양 전선보기 쉬우라고 알트 푼것도 하나 올려둠 오른쪽에 분배기랑 지하벨트는 벨트의 좌우를 반반으로 나눠주는거라 신경안써도됨
추가로 위에서는 일정신호 조합기에 각 아이템에 1 신호를 보냈는데 이 신호를 더 크게 하면 그 아이템의 개수만 벨트위에 좀 더 적게 올리도록 설정도 할 수 있음
뭔가 잘못된거나 개선사항 있으면 알려줘
모든신호 1로 바꾸기는 or1 and1할거없이 비교조합기로 각각!=0 -> 각각1 해주면됨
조합기 하나 줄일수 있네 고마워
사실 이것도 필요 없고 곱하기 해주는 것도 필요 없음 그냥 상자에서 읽은걸 녹색선으로 비교조합기에 연결, 벨트에서 읽은건 빨간선으로 연결 한다음 (G)각각>0 일 경우 -> 각각 입력값(R) 로 하면 상자에 있는 경우에 대해서만 벨트의 실제수량을 출력으로 내보내 줄거임
좀 응용하면 일정신호조합기에 톱니1 강철2 이런식으로 입력하고 벨트재고/일정신호 이런식으로하면 임의로 자원 비율맞출수도 있겠다 - dc App
스시는 꽉차서 멈추면 안됨
멋진 글이었다. 스시벨트가 뭔지 드디어 알았다. 개추임