최대 2대까지만 본진을 떠나있을 수 있고, 한대씩만 움직일 수 있다는 단점은 있는데,

그 외에 본진에 머무르는 기차수는 무제한이 가능하고,

기차 설정 시프트우클릭으로 다 똑같이 복붙해도 되고,

원격역(광물캐는 역 등) 이름 전부 똑같이 복붙해도 됨.


요점은 원격역에 자원이 채워져있나 없나, 열차가 원격역에 도착했나 안했나. 이 두가지 정보를 못움직이게 묶어둔 기차 두대를 사용해서 무선으로 받아온 뒤에, 회로가지고 출발대기역을 컨트롤 하는거임.



시나리오 맵에 간단하게 모델링한거.

청사진은 글 맨밑에다 넣어드림. 아직 0.16이라서 청사진에 열차가 포함되어있지 않으니 투입해야할 열차설명도 밑에 있을것임.

viewimage.php?id=2bbcd332eac031a9&no=24b0d769e1d32ca73fef8efa11d02831ff8a84a4b499fa798f2a7c827b1c751064f9eb466feb2458be6239ad6ff17cd9da4ccd2a75136a2133e9e3e0b8f2ca6a8dedee



본진역 = home 역

물자 하역하는 부분은 회로같은거 필요없더라. 그냥 물건 내리게 하면됨.

셋 다 이름이 home이야.

viewimage.php?id=2bbcd332eac031a9&no=24b0d769e1d32ca73fef8efa11d02831ff8a84a4b499fa798f2a7c827b1c751064f9eb466feb2458fb366bc76af07dd462cb7233c2e17c7f3961867eb83d48



원격역 = remote 역.

train at remote라는 무선송출기 역할을 하는 더미역이 추가로 딸려있다.

이 두개의 역이 ON/OFF 되는걸 본진의 센서역에서 무선으로 읽어낸다.

viewimage.php?id=2bbcd332eac031a9&no=24b0d769e1d32ca73fef8efa11d02831ff8a84a4b499fa798f2a7c827b1c751064f9eb466feb2458fb366bc76af07dd462cb726795b3297e6632d47eb83d48


센서들.

check remote on 역하고

check train at remote 역인데,

하나는 원격역을 검사하고, 하나는 추가송출기를 검사함.

viewimage.php?id=2bbcd332eac031a9&no=24b0d769e1d32ca73fef8efa11d02831ff8a84a4b499fa798f2a7c827b1c751064f9eb466feb2458fb366bc76af07dd462cb723296ef787b666c8c7eb83d48


메인철로에서 본진으로 되돌아오는 입구 부분의 기본철도신호이다.

이 신호가 노랑불로 바뀌면 누가 돌아오고 있다는 뜻이니까, 노랑불로 바뀌는 순간을 1틱짜리 펄스로 전환해서 전달하면 들어오는 열차 갯수를 카운트 할 수 있다.

viewimage.php?id=2bbcd332eac031a9&no=24b0d769e1d32ca73fef8efa11d02831ff8a84a4b499fa798f2a7c827b1c751064f9eb466feb2458fb366bc76af07dd462cb723090e22a7d6335d17eb83d48



물자를 하역하고 비워진 열차가 다시 출발하기 위해 대기하는 역.

wait for go 역이다.

노란불이 존재하는데, 노란불의 의미는

밖에 호출하는 원격역이 생겼는데 이미 어떤 열차가 향하고 있어서, 또 출발시킬 경우, 겹치는 노선을 고르게 되므로 일단 밖에서 달리는 열차가 원격역에 도착할 때까지 기다려라는 의미다.

초록불은 밖에 열차가 0대이면서 호출하는 원격역이 있거나,

이미 1대 나가있는데, 이미 원격역에 도착해서 정차중인 상황이면 밖에선 이동중인 열차는 없으면서 호출하는 원격역이 있다는 의미다.


밖에 나갈 수 있는 열차가 2대로 제한되는 이유는 센서역이 전달하는 정보에는 정차중인 열차의 존재여부정보만 포함되어있고, 몇대가 정차중인지 정보가 없기 때문이야 ㅜㅜ

그래서 한대 정차중이면 추가로 딱 한대만 더 나갈 수 있고, 3대째는 나가면 가다가 암것도 안하고 되돌아올 확률 90%라서...

viewimage.php?id=2bbcd332eac031a9&no=24b0d769e1d32ca73fef8efa11d02831ff8a84a4b499fa798f2a7c827b1c751064f9eb466feb2458fb366bc76af07dd462cb726492b27d2f3960877eb83d48



어쨌든 시운전 해보니까 완벽하다. 크으... 해냈어.

틱 때문에 신호가 순간적으로 바뀌는 순간에 잠깐잠깐 초록불이 들어오면서 열차가 떠나버리길래, 1초 타이머를 설치했더니 사고없이 완벽하게 동작하네.



이하는 청사진 설명이다.


관심있으면 청사진 열어서 로봇으로 설치한 뒤에 살펴보면 좋을거야...



home측 변수설명


T : 열차번호, 열차가 있으면 양수

P : 현재 밖에 나가있는 차량 대 수

X : 엣지 디텍터 처리용 변수

0 : "밖에 나가있는 차량 대 수"가 꼬였을 때, 초기화용도. 모든 차량을 home에 귀환시킨 후 초기화하면 정상화됨.


R : 채워진 광산역 있음

N : 광산역에 정차된 차량 있음


A : 나가있는 차량이 0대 임

B : 나가있는 차량이 1대 임

C : 채워진 광산역 있고, 광산역에 정차된 차량 있음

D : 채워진 광산역 있고, 광산역에 정차된 차량 없음

Y : 램프에 빨강불을 표시하기 위해 초록색과 노란색 둘다 아닌 경우를 체크하는 변수

파란색 : 초록불이 되면 60틱 기다린 후 출발하도록 하는 타이머 누적카운터


M : 나가있는 차량 대 수를 차량이 들어올 때마다 -1 시켜주는 변수.



remote측 변수설명


T : 열차번호, 열차가 있으면 양수. T를 2배하는건 열차ID가 1인 경우, 오류나서.

F : 물자가 원하는 양만큼 채워져있음

O : 광산역에 정차된 차량이 없고, 물자가 원하는 양만큼 채워져있음



check remote on역의 열차 세팅

앞뒤로 달린거 놓고 연료 아무거나 채워둠

일정

- check remote on : 0초 지남

- remote : 조건불필요



check train at remote역의 열차 세팅

앞뒤로 달린거 놓고 연료 아무거나 채워둠

일정

- check train at remote : 0초 지남

- train at remote : 조건불필요



화물차 4대

home측 선로 내부에 놓고

일정

- home : 인벤토리 비움

- wait for go : 파란색 신호>60

- remote : 화물 > 60


청사진 :

https://pastebin.com/HgS9vBZt