spacerose

3.2 база

May 19th, 2021
693
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.45 KB | None | 0 0
  1.  
  2. class C32:
  3.     def __init__(self):
  4.         self.state: C32.State = C32.A(self)
  5.  
  6.     def bolt(self) -> int:
  7.         return self.state.bolt()
  8.  
  9.     def group(self) -> int:
  10.         return self.state.group()
  11.  
  12.     def tail(self) -> int:
  13.         return self.state.tail()
  14.  
  15.     class State:
  16.         def __init__(self, parent):
  17.             self.parent: C32 = parent
  18.  
  19.         def bolt(self) -> int:
  20.             raise RuntimeError
  21.  
  22.         def group(self) -> int:
  23.             raise RuntimeError
  24.  
  25.         def tail(self) -> int:
  26.             raise RuntimeError
  27.  
  28.     class A(State):
  29.         def tail(self):
  30.             self.parent.state = C32.B(self.parent)
  31.             return 0
  32.  
  33.         def group(self):
  34.             self.parent.state = C32.D(self.parent)
  35.             return 1
  36.  
  37.     class B(State):
  38.         def bold(self):
  39.             self.parent.state = C32.C(self.parent)
  40.             return 2
  41.  
  42.         def group(self):
  43.             self.parent.state = C32.G(self.parent)
  44.             return 3
  45.  
  46.         def tail(self):
  47.             self.parent.state = C32.D(self.parent)
  48.             return 4
  49.  
  50.     class C(State):
  51.         def group(self):
  52.             self.parent.state = C32.D(self.parent)
  53.             return 5
  54.  
  55.     class D(State):
  56.         def bold(self):
  57.             self.parent.state = C32.E(self.parent)
  58.             return 6
  59.  
  60.     class E(State):
  61.         def bold(self):
  62.             self.parent.state = C32.F(self.parent)
  63.             return 7
  64.  
Advertisement
Add Comment
Please, Sign In to add comment