뭔가 하고싶은걸 회로로 만들어놓으니까 ㄹㅇ 비효율적인거같은데
더 깔끔한 방법 없는지 싶어서 물어봄
1. 우주선 외부
: 이온기체 조합기 :: 이온 기체가 > 9.9k 면 A == 1
: 메탄 아이스 조합기 :: 메탄 아이스가 < 10k면 A == 1
: 일정신호 발생기 :: 속도 65535 / 목적지 항시 출력
최종 클램프 입력 조합기 :: A==2 면 우주선 발진 == 1 ->우주선 콘솔에 입력
2. 우주선 내부
:목적지 조합기 :: 목적지가 나우비스 궤도면 A == 1 / 소행성 벨트면 B == 1
:속도 조합기 :: 속도가 -1 일 때만 속도 1 출력
:아무거나 연산기 :: 아무거나 * 속도 => 아무거나 출력
도킹 연산기 :: A == 1 이면 (나우비스 목적지, 우주선 정지됨) A * (나우비스 클램프 번호)
:: B == 1 이면 (벨트 목적지, 우주선 정지됨) B * (벨트 클램프 번호)
연산 결과를 도킹 신호로 바꿔서 콘솔 입력
결국 하고싶은건 1은 이온기체 충분하고 메탄아이스 부족해지면 발진해라!
2는 목적지에 맞게 클램프 번호 연산해서 착륙해라 ! 고
그냥 if문 때리면 간단한데 회로로 만들려니까 저 A,B라는 쓰잘대기없는 경유 신호가 반드시 필요하네
저런 잡다한거 없이 깔끔하게 구현할 방법 없음?
아무리 생각해도 기초적인 if문을 구현할 방법이 없진 않을거같은데 도저히 못만들겠음
외부에서 조합조건은 일정신호조합기에 다 넣어놓고 각각조건걸어서 모두 마이너스일때 발진~으로 걸면 A신호를 없앨수있긴함. 다만 이경우는 부등호방향이 반대기때문에 아느쪽에는 음수를 곱해줄 필요가있음…
내부는... 사실 제일 짜증나는건 A랑 B도 B인데 일치 조건을 *나 +같은 쫌생이 스타일로 구현한게 영 거슬림 그냥 조합기에서 바로 내뱉게 하는건 어려운건가
도킹클램프를 결정하는거라면, 연산조합기 몇개 놓고 (행성궤도신호)하고(소행성벨트신호)에다가 상수곱하고 더해서 결정할수도있음. 어짜피 목적지따라 둘중 하나는 0이잖아? 행성궤도에서 행성궤도나 벨트에서 벨트는 자동화 안할거아냐
아 클램프 ID를 적당히 조절해서 그냥 내가 상수로 연산 되게 규칙을 만들라는 뜻인가? 그럼 이겜 회로 자체가 그냥 심플한 if문 만드는 방법 자체는 없고 다 그렇게 산술적 꼼수 쓰는 느낌인거?
가령 벨트의 도킹클램프를 벨트신호에 10을 곱한수로 결정하고 우주선에 도킹신호는 목적지*10을하면 붙을수있겠지.. 자리수자체가 다르니 이 신호로 젤트에 착륙할리없고
중간신호없이 if구현이 너무귀찮아서 나는 일케한것같음. 근데 중간에 개같이 꼬여서 그냥 중간신호 썼는데 너는 성공하길바라…
끙 뭐이리 복잡하게 해놨지 이래서 회로 유입장벽이 높다는건가 그냥 if문 되게 만들어놨으면 사람들 별로 안헤매고 심플할거같은데 엄청 꼬아놨네
이렇게 안해도 목적지신호가 소행성신호>0이라면, 클램프는 몇번/벨트신호>0이라면, 클램프는 몇번 하면 됨. 근데 비교신호가 내뱉는건 1이기때문에 클램프신호를 곱하는 산술연산신호를 각각 놓을필요가있음
ㅇㅋㅇㅋ 이해했음 다른건 다 그렇다쳐도 비교기 출력이 무조건 입력 아니면 1인건 너무 거슬리네ㅋㅋㅋㅋㅋㅋ 1이라는 옵션이 있는걸 보니 TF 신호 유사하게 1*원하는 수 곱셈을 상정한거같은데 그럴거면 그냥 출력값 선택하게 해줘!!!!
딴소리이긴 한데 벨트랑 궤도랑 클램프 번호 같게하고 우주선내부 일정신호 조합기로 속도랑 클램프 번호 계속 넣어주면 간단해질거 같음.
음 원할지는 모르겠지만 내 클리어 기록에서 깔끔하게 쓰던거 있는데 그거보고 글써줄게
https://gall.dcinside.com/mgallery/board/view/?id=factorio&no=65481&page=1
오 조건 통과할때 싹다 내보내니까 이미 생성된 출발 정보가 싹다 나가게 하는 방식이구나 예쁜듯 ㄳㄳ
조건 비교를 결국 사칙연산으로 해야하는건 피할수가 없다는게 좀 아쉽긴 한데 그건 방법이 없으니 뭐..