HurkaLumo is a game that will resemble OpenTTD but it'll be more story driven, helping out communities, managing the railroad aaand have day and night aaand
Create Routes for the Buses . It don't have to look pretty, but just to get us started with Dijkstra. This precedes the Dijkstra CR.
[x] SlotPos - The most simple step a Bus can take within a Block
[x] SlotPath - A list of SlotPos:es that a Bus iterates over when it moves
[x] Situations - getSlotPosesOnBlockSituation() a function that yields a list of SlotPos based on what situation the bus is, caring for where it comes from and where it is going and through what Block. See Docs/HowItWorks/SlotPos images.
[x] TrafficManager.planForBusesOnRoadNetwork() Makes plans for how all the buses should move by iterating the roadNetworks datastructures and finding all the buses
[x] TrafficManager.planSlotPath() - Function that creates a SlotPath for a Bus running from A to B
[x] Bus.update() - Needs to set the bus gpix values along the slots in the slotpath
[x] TrafficManager.updateAll This function should update all the buses on the roadnetwork that they are on. For each RoadNetwork, for each Bus in that roadnetwork, make an .update() on the bus
Simple test:
[x] Place one bus on a roadnetwork, in Core, run update() on the bus to see if it moves to the next tile
Complex test:
[x] Place a Bus on each Roadnetwork in that example where you have 4 separate straight roads
[x] Make busroutes for each Bus, run dijkstra from start to end of each stretch
[x] Try running TrafficManager.updateAll and see if they all move
Create Routes for the Buses . It don't have to look pretty, but just to get us started with Dijkstra. This precedes the Dijkstra CR.
Simple test:
Complex test: