예제 #1
0
파일: step_two.py 프로젝트: arlaine4/rubiks
 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)
예제 #2
0
 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)
예제 #3
0
 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" ])
예제 #4
0
 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"])
예제 #5
0
파일: step_two.py 프로젝트: arlaine4/rubiks
 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"])
예제 #6
0
 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"])
예제 #7
0
 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
예제 #8
0
 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)
예제 #9
0
 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"])