1#
2# trafficLightDemo.py
3#
4# Example of a simple state machine modeling the state of a traffic light
5#
6
7import statemachine
8import trafficlightstate
9
10
11class TrafficLight(trafficlightstate.TrafficLightStateMixin):
12    def __init__(self):
13        self.initialize_state(trafficlightstate.Red)
14
15    def change(self):
16        self._state = self._state.next_state()
17
18
19light = TrafficLight()
20for i in range(10):
21    print("{0} {1}".format(light, ("STOP", "GO")[light.cars_can_go]))
22    light.crossing_signal()
23    light.delay()
24    print()
25
26    light.change()
27