현황: 주조소 1개로 쇳물과 철판을 동시에 만들고 있음.


정확한 횟수(10회)만큼 쇳물을 만든 후, 레시피 전환 시 잔여물이 남지 않도록 한 상태.


이에 관여하는 4개의 조합기가 있음.


1번 조합기. 주조소를 컨트롤하는 역할.


D는 주조소의 '제작 완료' 신호임


쇳물 레시피를 유지함과 더불어 투입한 철광석과 방해석, 제작 횟수를 카운팅함.


처음 가동하면 D는 1, 3, 4, 6, 9, 10, 12, 13을 거쳐 15가 된 후 레시피가 꺼짐. 



3번, 4번 조합기.


잔여물이 남지 않게 마지막 투입 시 투입기 손 크기를 조절하는 역할.


인풋은 메모리인 1번 조합기에서 읽어옴.


쇳물 레시피를 10번 돌리니까 정확히 철광 500개, 방해석 10개만 투입함.


D=15가 된 후 1번 조합기가 쇳물 레시피를 끄는 데 1틱의 딜레이가 생기지만, 재료가 더 없으니까 거기서 멈추게 됨. 여기까진 괜찮음. 



그런데 철판 제작 후 쇳물로 전환 시, 철판 제작완료 신호가 혼입되는 경우가 생김. 쇳물이 500 미만이라 래치가 켜지기 때문에 그것도 그대로 카운팅됨.

다행히 쇳물을 10번 만들면 쇳물 7500이 만들어지는데, 이는 철판 제작 375번을 수행할 수 있는 양이라 마지막 철판은 생산성 보너스를 못 받음. 평소엔 D=1만 추가됨.

 D가 1,3,4,6,9,10,12,13 >> 2,4,5,7,10,13,14가 되는 거라 D<15 조건을 벗어나지 않음.

진짜 문제는, 우주선을 만든 후 두 번째 쇳물 생산임.
정상운행 중엔 정확히 7500을 만들고 7500을 쓰지만, 이때는 다름. D=1이 아니라 D=2가 들어와 모든게 어긋나버림. 쇳물 레시피가 한 턴 일찍 끝나버려서 잔여물이 생긴다는 얘기임.


그래서 2번 조합기를 넣음. D가 2인데 쇳물이 한 턴도 안 만들어진 상태라면, D에서 1을 빼버림. 500이 아니라 700인 이유는 철판 레시피 종료와 동시에 주조소 내 쇳물 200이 역류하기 때문. (실제로는 680이 찍힘)

정상적으로 작동하지만, 굉장히 찝찝함. 
질문사항은 다음과 같음.

1. 잔여물 없는 정량배식을 보통 어떻게 구현함? 
   스루풋 손실이 없었으면 좋겠음.

2. 위 문제의 해답이 여기에 적용이 곤란하다면, 1번과 2번 조합기를 합칠 수 있는 방법이 있음? D=2로 시작하는 경우만 예외처리가 가능한가?


3. 3번과 4번 조합기를 합치거나 비교조합기로 대체할 수 있음?

우주선 청사진:

공9업 이상에서 테스트하면 됨. 주조소에 직접 뭔가를 넣지 말 것 


A: 쇳물 생산 시작값을 바꿔봐
>>가능함. 그렇지만 일반해를 얻고 싶음. 이건 배관 사이즈 따라 달라지는 거라 디자인이 바뀔 때마다 시험해야 함