""" ###############========================############## ###############===Créé=================############## ###############===Par==================############## ###############===Alexis,Ilias,Teddy===############## ###############===ISN - 2019===========############## ###############========================############## """ """ IMPORT """ from copy import deepcopy from openpyxl import load_workbook def clearall(): all = [var for var in globals() if var[0] != "_"] for var in all: del globals()[var] """ FIN - IMPORT """ #Création list first_list = [['-' for j in range(12)] for k in range(9)] #Importation image 2D cube table = load_workbook('color.xlsx') """ first_list[3][9] = '1' first_list[3][10] = '2' first_list[3][11] = '3' first_list[4][9] = '4' first_list[4][10] = '5' first_list[4][11] = '6' first_list[5][9] = '7' first_list[5][10] = '8' first_list[5][11] = '9' first_list[0][3] = 'A' first_list[0][4] = 'B' first_list[0][5] = 'C' first_list[3][0] = 'L' first_list[4][0] = 'K' first_list[5][0] = 'J' first_list[8][5] = 'G' first_list[8][4] = 'H' first_list[8][3] = 'I' first_list[5][8] = 'F' first_list[4][8] = 'E' first_list[3][8] = 'D' """ """ FONCTIONS DETERMINANT LES MOUVEMENTS """ def up(): global first_list new_list = deepcopy(first_list) new_list[5][5] = first_list[3][5] new_list[5][3] = first_list[5][5] new_list[3][3] = first_list[5][3] new_list[3][5] = first_list[3][3] new_list[5][4] = first_list[4][5] new_list[4][3] = first_list[5][4] new_list[3][4] = first_list[4][3] new_list[4][5] = first_list[3][4] new_list[2][3] = first_list[5][2] new_list[3][6] = first_list[2][3] new_list[6][5] = first_list[3][6] new_list[5][2] = first_list[6][5] new_list[2][4] = first_list[4][2] new_list[4][6] = first_list[2][4] new_list[6][4] = first_list[4][6] new_list[4][2] = first_list[6][4] new_list[2][5] = first_list[3][2] new_list[5][6] = first_list[2][5] new_list[6][3] = first_list[5][6] new_list[3][2] = first_list[6][3] first_list = new_list def ups(): global first_list new_list = deepcopy(first_list) new_list[3][5] = first_list[5][5] new_list[5][5] = first_list[5][3] new_list[5][3] = first_list[3][3] new_list[3][3] = first_list[3][5] new_list[4][5] = first_list[5][4] new_list[5][4] = first_list[4][3] new_list[4][3] = first_list[3][4] new_list[3][4] = first_list[4][5] new_list[5][2] = first_list[2][3] new_list[2][3] = first_list[3][6] new_list[3][6] = first_list[6][5] new_list[6][5] = first_list[5][2] new_list[4][2] = first_list[2][4] new_list[2][4] = first_list[4][6] new_list[4][6] = first_list[6][4] new_list[6][4] = first_list[4][2] new_list[3][2] = first_list[2][5] new_list[2][5] = first_list[5][6] new_list[5][6] = first_list[6][3] new_list[6][3] = first_list[3][2] first_list = new_list def down(): global first_list new_list = deepcopy(first_list) new_list[3][11] = first_list[5][11] new_list[5][11] = first_list[5][9] new_list[5][9] = first_list[3][9] new_list[3][9] = first_list[3][11] new_list[4][11] = first_list[5][10] new_list[5][10] = first_list[4][9] new_list[4][9] = first_list[3][10] new_list[3][10] = first_list[4][11] new_list[0][3] = first_list[3][0] new_list[3][0] = first_list[8][5] new_list[8][5] = first_list[5][8] new_list[5][8] = first_list[0][3] new_list[0][4] = first_list[4][0] new_list[4][0] = first_list[8][4] new_list[8][4] = first_list[4][8] new_list[4][8] = first_list[0][4] new_list[0][5] = first_list[5][0] new_list[5][0] = first_list[8][3] new_list[8][3] = first_list[3][8] new_list[3][8] = first_list[0][5] first_list = new_list def downs(): global first_list new_list = deepcopy(first_list) new_list[5][11] = first_list[3][11] new_list[5][9] = first_list[5][11] new_list[3][9] = first_list[5][9] new_list[3][11] = first_list[3][9] new_list[5][10] = first_list[4][11] new_list[4][9] = first_list[5][10] new_list[3][10] = first_list[4][9] new_list[4][11] = first_list[3][10] new_list[0][3] = first_list[5][8] new_list[5][8] = first_list[8][5] new_list[8][5] = first_list[3][0] new_list[3][0] = first_list[0][3] new_list[0][4] = first_list[4][8] new_list[4][8] = first_list[8][4] new_list[8][4] = first_list[4][0] new_list[4][0] = first_list[0][4] new_list[0][5] = first_list[3][8] new_list[3][8] = first_list[8][3] new_list[8][3] = first_list[5][0] new_list[5][0] = first_list[0][5] first_list = new_list def right(): global first_list new_list = deepcopy(first_list) new_list[0][3] = first_list[2][3] new_list[2][3] = first_list[2][5] new_list[2][5] = first_list[0][5] new_list[0][5] = first_list[0][3] new_list[0][4] = first_list[1][3] new_list[1][3] = first_list[2][4] new_list[2][4] = first_list[1][5] new_list[1][5] = first_list[0][4] new_list[3][5] = first_list[3][8] new_list[3][8] = first_list[3][11] new_list[3][11] = first_list[3][2] new_list[3][2] = first_list[3][5] new_list[3][4] = first_list[3][7] new_list[3][7] = first_list[3][10] new_list[3][10] = first_list[3][1] new_list[3][1] = first_list[3][4] new_list[3][3] = first_list[3][6] new_list[3][6] = first_list[3][9] new_list[3][9] = first_list[3][0] new_list[3][0] = first_list[3][9] first_list = new_list def rights(): global first_list new_list = deepcopy(first_list) new_list[0][3] = first_list[0][5] new_list[0][5] = first_list[2][5] new_list[2][5] = first_list[2][3] new_list[2][6] = first_list[0][3] new_list[0][4] = first_list[1][5] new_list[1][5] = first_list[2][4] new_list[2][4] = first_list[1][3] new_list[1][3] = first_list[0][4] new_list[3][5] = first_list[3][2] new_list[3][2] = first_list[3][11] new_list[3][11] = first_list[3][8] new_list[3][8] = first_list[3][5] new_list[3][4] = first_list[3][1] new_list[3][1] = first_list[3][10] new_list[3][10] = first_list[3][7] new_list[3][7] = first_list[3][4] new_list[3][3] = first_list[3][0] new_list[3][0] = first_list[3][9] new_list[3][9] = first_list[3][6] new_list[3][6] = first_list[3][3] first_list = new_list def left(): global first_list new_list = deepcopy(first_list) new_list[6][5] = first_list[6][3] new_list[8][5] = first_list[6][5] new_list[8][3] = first_list[8][5] new_list[6][3] = first_list[8][3] new_list[7][5] = first_list[6][4] new_list[8][4] = first_list[7][5] new_list[7][3] = first_list[8][4] new_list[6][4] = first_list[7][3] new_list[5][6] = first_list[5][3] new_list[5][9] = first_list[5][6] new_list[5][0] = first_list[5][9] new_list[5][3] = first_list[5][0] new_list[5][7] = first_list[5][4] new_list[5][10] = first_list[5][7] new_list[5][1] = first_list[5][10] new_list[5][4] = first_list[5][1] new_list[5][8] = first_list[5][5] new_list[5][11] = first_list[5][8] new_list[5][2] = first_list[5][11] new_list[5][5] = first_list[5][2] first_list = new_list def lefts(): global first_list new_list = deepcopy(first_list) new_list[6][3] = first_list[6][5] new_list[6][5] = first_list[8][5] new_list[8][5] = first_list[8][3] new_list[8][3] = first_list[6][3] new_list[6][4] = first_list[7][5] new_list[7][5] = first_list[8][4] new_list[8][4] = first_list[7][3] new_list[7][3] = first_list[6][4] new_list[5][3] = first_list[5][6] new_list[5][6] = first_list[5][9] new_list[5][9] = first_list[5][0] new_list[5][0] = first_list[5][3] new_list[5][4] = first_list[5][7] new_list[5][7] = first_list[5][10] new_list[5][10] = first_list[5][1] new_list[5][1] = first_list[5][4] new_list[5][5] = first_list[5][8] new_list[5][8] = first_list[5][11] new_list[5][11] = first_list[5][2] new_list[5][2] = first_list[5][5] first_list = new_list def front(): global first_list new_list = deepcopy(first_list) new_list[3][6] = first_list[5][6] new_list[5][6] = first_list[5][8] new_list[5][8] = first_list[3][8] new_list[3][8] = first_list[3][6] new_list[3][7] = first_list[4][6] new_list[4][6] = first_list[5][7] new_list[5][7] = first_list[4][8] new_list[4][8] = first_list[3][7] new_list[2][5] = first_list[5][5] new_list[5][5] = first_list[8][5] new_list[8][5] = first_list[3][9] new_list[3][9] = first_list[2][5] new_list[1][5] = first_list[4][5] new_list[4][5] = first_list[7][5] new_list[7][5] = first_list[4][9] new_list[4][9] = first_list[1][5] new_list[0][5] = first_list[3][5] new_list[3][5] = first_list[6][5] new_list[6][5] = first_list[5][9] new_list[5][9] = first_list[0][5] first_list = new_list def fronts(): global first_list new_list = deepcopy(first_list) new_list[5][6] = first_list[3][6] new_list[5][8] = first_list[5][6] new_list[3][8] = first_list[5][8] new_list[3][6] = first_list[3][8] new_list[4][6] = first_list[3][7] new_list[5][7] = first_list[4][6] new_list[4][8] = first_list[5][7] new_list[3][7] = first_list[4][8] new_list[5][5] = first_list[8][5] new_list[8][5] = first_list[3][9] new_list[3][9] = first_list[2][5] new_list[2][5] = first_list[5][5] new_list[4][5] = first_list[7][5] new_list[7][5] = first_list[4][9] new_list[4][9] = first_list[1][5] new_list[1][5] = first_list[4][5] new_list[3][5] = first_list[6][5] new_list[6][5] = first_list[5][9] new_list[5][9] = first_list[0][5] new_list[0][5] = first_list[3][5] first_list = new_list def back(): global first_list new_list = deepcopy(first_list) new_list[3][2] = first_list[3][0] new_list[3][0] = first_list[5][0] new_list[5][0] = first_list[5][2] new_list[5][2] = first_list[3][2] new_list[3][1] = first_list[4][0] new_list[4][0] = first_list[5][1] new_list[5][1] = first_list[4][2] new_list[4][2] = first_list[3][1] new_list[0][3] = first_list[5][11] new_list[5][11] = first_list[6][3] new_list[6][3] = first_list[3][3] new_list[3][3] = first_list[0][3] new_list[1][3] = first_list[4][11] new_list[4][11] = first_list[7][3] new_list[7][3] = first_list[4][3] new_list[4][3] = first_list[1][3] new_list[2][3] = first_list[3][11] new_list[3][11] = first_list[8][3] new_list[8][3] = first_list[5][3] new_list[5][3] = first_list[2][3] first_list = new_list def backs(): global first_list new_list = deepcopy(first_list) new_list[3][0] = first_list[3][2] new_list[5][0] = first_list[3][0] new_list[5][2] = first_list[5][0] new_list[3][2] = first_list[5][2] new_list[4][0] = first_list[3][3] new_list[5][1] = first_list[5][11] new_list[4][2] = first_list[6][3] new_list[3][1] = first_list[3][3] new_list[5][11] = first_list[1][3] new_list[6][3] = first_list[4][11] new_list[3][3] = first_list[7][3] new_list[0][3] = first_list[4][3] new_list[4][11] = first_list[1][3] new_list[7][3] = first_list[4][11] new_list[4][3] = first_list[7][3] new_list[1][3] = first_list[4][3] new_list[3][11] = first_list[2][3] new_list[8][3] = first_list[3][11] new_list[5][3] = first_list[8][3] new_list[2][3] = first_list[5][3] first_list = new_list """ FIN - FONCTIONS MOUVEMENTS """ """ FONCTIONS ETAPES """ #Etape 1 def etape1_1(): global first_list,b,w,o,r,y,g if first_list[3][4] == b and first_list[2][4] == w: return rights(),fronts(),ups() elif first_list[3][4] == w and first_list[2][4] == b: return True elif first_list[0][4] == b and first_list[3][10] == w: return back(),back() elif first_list[0][4] == w and first_list[3][10] == b: return backs(),rights(),ups() elif first_list[1][3] == b and first_list[3][1] == w: return rights() elif first_list[1][3] == w and first_list[3][1] == b: return backs(),ups() elif first_list[][] == b and first_list[][] == w: return elif first_list[][] == w and first_list[][] == b: return elif first_list[][] == b and first_list[][] == w: return elif first_list[][] == w and first_list[][] == b: return elif first_list[][] == b and first_list[][] == w: return elif first_list[][] == w and first_list[][] == b: return elif first_list[][] == b and first_list[][] == w: return elif first_list[][] == w and first_list[][] == b: return elif first_list[][] == b and first_list[][] == w: return elif first_list[][] == w and first_list[][] == b: return elif first_list[][] == b and first_list[][] == w: return elif first_list[][] == w and first_list[][] == b: return elif first_list[][] == b and first_list[][] == w: return elif first_list[][] == w and first_list[][] == b: return elif first_list[][] == b and first_list[][] == w: return elif first_list[][] == w and first_list[][] == b: return elif first_list[][] == b and first_list[][] == w: return elif first_list[][] == w and first_list[][] == b: return def etape1_2(): global first_list,b,w,o,r,y,g def etape1_3(): global first_list,b,w,o,r,y,g def etape1_4(): global first_list,b,w,o,r,y,g def etape2_1(): global first_list,b,w,o,r,y,g def etape2_2(): global first_list,b,w,o,r,y,g def etape2_3(): global first_list,b,w,o,r,y,g def etape2_4(): global first_list,b,w,o,r,y,g def etape3_1(): global first_list,b,w,o,r,y,g def etape3_2(): global first_list,b,w,o,r,y,g def etape3_3(): global first_list,b,w,o,r,y,g def etape3_4(): global first_list,b,w,o,r,y,g def etape4(): global first_list,b,w,o,r,y,g def etape5(): global first_list,b,w,o,r,y,g def etape6(): global first_list,b,w,o,r,y,g def etape7(): global first_list,b,w,o,r,y,g """ FIN - FONCTIONS ETAPES """ """ ZONE DE TESTS """ clearall()