Advertisement
MKbear

Python_9

Jun 10th, 2022
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.87 KB | None | 0 0
  1. from enum import Enum
  2.  
  3.  
  4. class State(Enum):
  5.     A = 0
  6.     B = 1
  7.     C = 2
  8.     D = 3
  9.     E = 4
  10.     F = 5
  11.     G = 6
  12.  
  13.  
  14. class StateMachine:
  15.     state = State.A
  16.  
  17.     def start(self):
  18.         return self.update({
  19.             State.A: [State.B, 0],
  20.             State.C: [State.D, 4],
  21.             State.D: [State.B, 6],
  22.         })
  23.  
  24.     def loop(self):
  25.         return self.update({
  26.             State.A: [State.F, 1],
  27.             State.G: [State.B, 9],
  28.         })
  29.  
  30.     def fetch(self):
  31.         return self.update({
  32.             State.B: [State.C, 3],
  33.             State.D: [State.E, 5],
  34.             State.E: [State.F, 7],
  35.             State.F: [State.G, 8],
  36.             State.A: [State.G, 2],
  37.         })
  38.  
  39.     def update(self, transitions):
  40.         self.state, signal = transitions[self.state]
  41.         return signal
  42.  
  43.  
  44. def main():
  45.     return StateMachine()
  46.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement