10. února 2019

Dneska jsem spáchal funkci výhybek, kdy momentálně vlak si může náhodně vybrat směr jízdy, pokud jede k výhybce proti hrotu. Pokud jede po hrotu, tak si nic vybírat nemůže a pokračuje jedinou možnou cestou. Dále se pouštím do možnosti správy Kurzů a také bych chtěl vyřešit načítání a ukládání mapy, což nakonec nebude tak jednoduchý úkol, jak se mi zdálo.

Jak vlastně funguje taková výhybka? Samotná výhybka má uložený bod křivky (koleje), která výhybkou prochází a ještě druhý bod jiné křivky, která tam začíná či končí.  Také si pro pomoc ukládáme pomocný bod, který vlak projede, pokud příjíždí k protihrotu výhybky. Pokud vlak dojede na bod a rozhoduje se kam dál má jet, tak se nejdříve zeptá "obalovače" všech výhybek, jestli se náhodou na jeho místě nějaká výhybka nenachází. A pokud se výhybka nachází, zeptá se jí, jestli k ní přijel proti hrotu. Pokud ne, zeptá se na pokračovací křivku jízdy po hrotu. Při jízdě proti hrotu se zeptá výhybky na primární směr a výhybka mu jej vrátí. Po implementaci Jízdních řádů ještě přibude možnost, že pokud má v jízdním řádu vlak zadanou danou výhybku, tak se ani výhybky nebude ptát na primární směr průjezdu, ale bude pokračovat směrem, kterým chce.

Na obrázku je nakreslené, jak jsem to myslel.

S těmito třemi body výhybce stačí, aby zvládla správně rozhodnout odkud kam má vlak jet.

A na závěr (tentokrát delší) video s funknčími výhybkami.