기차 인터럽트 개선중인데
어떤 하차역에 n대의 기차를 요청하고 n+1의 기차를 막기위해 요청신호를 -로 보내서 상쇄 중인데
버퍼를 채우기 전까지 n대를 요청하게 되서 결론적으로는 n대보다 더 많은 열차를 호출 하게 된 상황임
기차를 n대 호출함 -> 다수의 상차역으로 동시에 n대 이동 -> n대를 요청한 하차역으로 이동 -> 하차후 대기역복귀
원하는 기능이 뭐냐면
하차역에 도착한 기차를 카운팅 하고 싶음
n대 요청한 하차역이 있음
1대가 도착하면 -1의 요청신호 (이하 A신호)
2대가 도착하면 A = -2
3대가 도착하면 A = -3
...
n대 도착하면 A = -n 마지막 n번째 열차가 출발하면 리셋
- 원하는 것 요약 : 기차에 도착한 열차를 카운팅하고 지정한 열차 숫자가 도착한 후 출발하면 리셋
- 하려는것 예시 : 하차역에서 철판기차 3대요청했고, 2대 도착했고 앞으로 1대 더 오면됨 그렇게 총 3대만 요청하고 배달받음
그리고 버퍼량 미만으로 떨어지면 3대 요청 이하반복
지금 생각은 도착후 출발까지 생각해야하므로 정차한 열차 ID를 읽는 T신호를 이용해서 T가 0이 아닌 횟수를 카운팅하면 될거같은데
카운팅할 방법이 안 떠오르네
대기역을 카운트할만큼 두면 뭐 안될라나
기차역 설정에 기차수 제한 걸면 되는 거 아니야? 굳이 회로 만들 필요 없어 보이는 데...
상차역 - 하차역간에는 기차수 제한이 공유되지 않아서 하차역에서 기차요청하면 상차역에 갈 수 있는만큼 기차가 전부가 가게됌 필요한만큼 이상으로 그로인해 기차가 대기하게 되니까 그게 싫어서 최적화중인것임
대기역 하나이상 두고 하차역이랑 대기역에 열차 대수 제한 1대로 두면 깔끔하긴함 공간을 좀 쳐먹긴 하지만
뭐가 필요한진 모르겠는데 화물개수가 중요한거면 보유량으로 비활성화 가능하긴함
내가 원하는건 원하는 만큼 원하는 기차가 낭비없이 가는거라 굳이 안해도되는거 하는거임 하차에서 짜장면 2개 요청했는데 모든 딸배가 모든 중국집(상차)에가서 짜장면 들고 대기타는게 싫은것
카운팅을 해서 그만큼 주문 신호를 하나씩 까서 2개 요청했고 1개는 배달완료했고 1개만 더 오면됨 이런거 만들려고 하는거임
미리 실어놓는것마저 싫다면 하차역이 비었을때 뭐 이런 조건으로 상차하게 인터럽트를 걸면 될 것 같다
저도 전역 회로망 깔고 비슷한거 해볼라다가 아무리봐도 확장이 비효율이라 그냥 인터럽트로 다 짰음 그냥 복붙 드르륵 하면 돼서 좋음
@세차갤
https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=85163&search_pos=-93234&s_type=search_name&s_keyword=웅나&page=5
이미
공급수요 1대1 매칭하는 인터럽트는 구현 완료했음
M대N도 가능하긴함 근데 중간에 물건들고 대기타는 열차가 가끔발생함 그거 최적화해서 없앨려고 카운팅 & 리셋 배우려고 하는거임
카운팅하는건 간단함 그냥 1틱 전 신호랑 지금 신호랑 비교하면 되니까 T신호를 하나는 빨간선으로 T=U=T 되어있는 산술연산 1, 하나는 초록선으로 T+0=U 되어있는 산술연산 2를 지나서 산술연산 1로 들어가게끔 하면 기차가 새로 들어와서 T값이 바뀔때 딱 1틱만 탁 튀고 다시 0으로 돌아가게 됨. 그 신호를 T>0일때 T=1 출력하게 되어있는 수량비교에 넣어주면 기차 올떄마다 1틱씩 T신호 1을 출력하는 장치가 되는거고. 레이더 이용해서 전역 카운터로 던져주면 됨
U는 뭘 의미하는거임 [각각]이나 [모두] 같은 거임?
@웅나 아 산술연산2의 결과값이 U인가
이거 T=U=T는 어떻게 넣는거임 산술연산에는 =이 없는데
https://m.dcinside.com/board/factorio/90687
-
https://m.dcinside.com/board/factorio/72863
군돌이라 폰 내야해서 자세한건 내일
오 여기딱있네
아래꺼는 내 방향성이랑 조금 안맞고 (나는 공급 수요 매칭 최대한 맞추고싶음) 위는 어떻게 하면 될거같은데 원하는 기능이 기차 도착 카운팅하고 원하는 숫자만큼 도착하고 출발해서 다음 버퍼량 미만까지 떨어지면 다시 리셋해서 반복이거든
나도 비슷한문제 있었는데 상차역/하차역으로 향하는 열차 수는 전부 두당 -1로 하고 하차역에서 필요한 열차수만큼 +1로 한다음 상차역 활성화조건을 해당 신호가 +1일때로 했음