@@ -74,12 +74,12 @@ class CubeMove():
7474 regex_pattern = re .compile (
7575 "^(?:([0-9]*)(([LRDUBF])([w]?)|([XYZMES]))([']?)([0-9]?))$" )
7676
77- def __init__ (self , move_type : CubeMoveType , is_reversed : bool = False , wide : bool = False , layer : int = 1 ):
77+ def __init__ (self , move_type : CubeMoveType , is_reversed : bool = False , wide : bool = False , layer : int = 1 , count : int = 1 ):
7878 self .type = move_type
7979 self .is_reversed = is_reversed
8080 self .wide = wide
8181 self .layer = layer
82- self .count = 1
82+ self .count = count
8383
8484 @staticmethod
8585 def _create_move (result , special_move ):
@@ -132,7 +132,7 @@ def create(move_str: str):
132132
133133 def reverse (self ):
134134 """return the reverse move"""
135- return CubeMove (self .type , not self .is_reversed , self .wide , self .layer )
135+ return CubeMove (self .type , not self .is_reversed , self .wide , self .layer , count = self . count )
136136
137137 def __str__ (self ):
138138 if (self .wide and self .layer == 2 )\
@@ -142,7 +142,8 @@ def __str__(self):
142142 layer = self .layer # pragma: no cover
143143 wide = "w" if self .wide else ""
144144 reversed_move = "'" if self .is_reversed else ""
145- return f"{ layer } { self .type .name } { wide } { reversed_move } "
145+ count = "" if int (self .count ) == 1 else int (self .count )
146+ return f"{ layer } { self .type .name } { wide } { reversed_move } { count } "
146147
147148 def __repr__ (self ):
148149 return str (self ) # pragma: no cover
0 commit comments