def move_edge_down(self, cubeCurrent, color_one, color_two, color_three): """move an edge on the down face""" self.lst_pos_cur = self.update_pos_lst(cubeCurrent, color_one, color_two, color_three) mixManager = mix.Mix() if self.lst_pos_cur[1][0] == "right" and self.lst_pos_cur[2][ 0] == "front": mixManager.runMix(["F", "D'", "F'"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["F", "D'", "F'"]) elif self.lst_pos_cur[1][0] == "left" and self.lst_pos_cur[2][ 0] == "front": mixManager.runMix(["F'", "D", "F"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["F'", "D", "F"]) elif self.lst_pos_cur[1][0] == "right" and self.lst_pos_cur[2][ 0] == "back": mixManager.runMix(["B'", "D", "B"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["B'", "D", "B"]) elif self.lst_pos_cur[1][0] == "left" and self.lst_pos_cur[2][ 0] == "back": mixManager.runMix(["B", "D'", "B'"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["B", "D'", "B'"]) self.lst_pos_cur = self.update_pos_lst(cubeCurrent, color_one, color_two, color_three)
def move_opposite(self, cubeCurrent, face): mixManager = mix.Mix() if face == "front": mixManager.runMix(["L", "D", "L'", "D", "L", "D2", "L'"], cubeCurrent) self.lst_moves = utils.append_list( self.lst_moves, ["L", "D", "L'", "D", "L", "D2", "L'"]) if face == "right": mixManager.runMix(["F", "D", "F'", "D", "F", "D2", "F'"], cubeCurrent) self.lst_moves = utils.append_list( self.lst_moves, ["F", "D", "F'", "D", "F", "D2", "F'"]) return self.go_down(cubeCurrent)
def right_sequence(self, cubeCurrent, face): mixManager = mix.Mix() if face == "front": mixManager.runMix([ "D'", "R'", "D", "R", "D", "F", "D'", "F'" ], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, [ "D'", "R'", "D", "R", "D", "F", "D'", "F'" ]) elif face == "left": mixManager.runMix([ "D'", "F'", "D", "F", "D", "L", "D'", "L'" ], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, [ "D'", "F'", "D", "F", "D", "L", "D'", "L'" ]) elif face == "right": mixManager.runMix([ "D'", "B'", "D", "B", "D", "R", "D'", "R'"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, [ "D'", "B'", "D", "B", "D", "R", "D'", "R'"]) elif face == "back": mixManager.runMix([ "D", "R", "D'", "R'", "D'", "B'", "D", "B" ], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, [ "D", "R", "D'", "R'", "D'", "B'", "D", "B" ])
def change_side(self, cubeCurrent, face): """Re positionning edges""" mixManager = mix.Mix() if face == "front": mixManager.runMix(["F", "U'", "R", "U"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["F", "U'", "R", "U"]) elif face == "right": mixManager.runMix(["R", "U'", "B", "U"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["R", "U'", "B", "U"]) elif face == "left": mixManager.runMix(["L", "U'", "F", "U"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["L", "U'", "F", "U"]) elif face == "back": mixManager.runMix(["B", "U'", "L", "U"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["B", "U'", "L", "U"])
def move_side(self, cubeCurrent, color_one, color_two, color_three, face): mixManager = mix.Mix() while self.finished_three_color_pos(cubeCurrent, color_one, color_two, color_three) is False: if face == "front": mixManager.runMix(["R'", "D'", "R", "D"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["R'", "D'", "R", "D"]) elif face == "right": mixManager.runMix(["B'", "D'", "B", "D"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["B'", "D'", "B", "D"]) elif face == "back": mixManager.runMix(["L'", "D'", "L", "D"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["L'", "D'", "L", "D"]) elif face == "left": mixManager.runMix(["F'", "D'", "F", "D"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["F'", "D'", "F", "D"])
def corner_change(self, cubeCurrent, face): mixManager = mix.Mix() if face == "front": mixManager.runMix(["L", "D", "L'", "D", "L", "D2", "L'", "D"], cubeCurrent) self.lst_moves = utils.append_list( self.lst_moves, ["L", "D", "L'", "D", "L", "D2", "L'", "D"]) elif face == "back": mixManager.runMix(["R", "D", "R'", "D", "R", "D2", "R'", "D"], cubeCurrent) self.lst_moves = utils.append_list( self.lst_moves, ["R", "D", "R'", "D", "R", "D2", "R'", "D"]) elif face == "right": mixManager.runMix(["F", "D", "F'", "D", "F", "D2", "F'", "D"], cubeCurrent) self.lst_moves = utils.append_list( self.lst_moves, ["F", "D", "F'", "D", "F", "D2", "F'", "D"]) elif face == "left": mixManager.runMix(["B", "D", "B'", "D", "B", "D2", "B'", "D"], cubeCurrent) self.lst_moves = utils.append_list( self.lst_moves, ["B", "D", "B'", "D", "B", "D2", "B'", "D"])
def run(self, cubeCurrent, lst_moves): self.set_lst_moves(lst_moves) mixManager = mix.Mix() to_move = ["F", "L", "D", "L'", "D'", "F'"] one, two = utils.check_back_state(cubeCurrent.down, "yellow") if one == 4: return self.lst_moves if one == 1: mixManager.runMix(to_move, cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, to_move) one, two = utils.check_back_state(cubeCurrent.down, "yellow") if one == 2 and two == 0: mixManager.runMix(to_move, cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, to_move) elif one == 2 and two == 1: mixManager.runMix(["D'", "F", "L", "D", "L'", "D'", "F'"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["D'", "F", "L", "D", "L'", "D'", "F'"]) elif one == 2 and two == 2: mixManager.runMix(["D'", "D'", "F", "L", "D", "L'", "D'", "F'"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["D'", "D'", "F", "L", "D", "L'", "D'", "F'"]) elif one == 2 and two == 3: mixManager.runMix(["D", "F", "L", "D", "L'", "D'", "F'"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["D", "F", "L", "D", "L'", "D'", "F'"]) one,two = utils.check_back_state(cubeCurrent.down, "yellow") if one == 3 and two == 0: mixManager.runMix(to_move, cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, to_move) elif one == 3 and two == 1: mixManager.runMix(["D", "F", "L", "D", "L'", "D'", "F'"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["D", "F", "L", "D", "L'", "D'", "F'"]) one,two = utils.check_back_state(cubeCurrent.down, "yellow") if one == 4: return self.lst_moves return self.lst_moves
def move_to_next_pos(self, cubeCurrent, list_mix): mixManager = mix.Mix() mixManager.runMix(list_mix, cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, list_mix)
def move_side(self, cubeCurrent, lst_colors): mixManager = mix.Mix() while self.finished_three_color_pos(cubeCurrent, lst_colors) is False: mixManager.runMix(["L'", "U'", "L", "U"], cubeCurrent) self.lst_moves = utils.append_list(self.lst_moves, ["L'", "U'", "L", "U"])