# Créé par npnat, le 16/10/2023 en Python 3.7 from threading import * plateau = [["tour_n","cava_n","fou_n","dame_n","roi_n","fou_n","cava_n","tour_n"], ["pion_n","pion_n","pion_n","pion_n","pion_n","pion_n","pion_n","pion_n"], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], [0,0,0,0,0,0,0,0], ["pion_b","pion_b","pion_b","pion_b","pion_b","pion_b","pion_b","pion_b"], ["tour_b","cava_b","fou_b","dame_b","roi_b","fou_b","cava_b","tour_b"]] def mvmt_a1(v): #il y aura a l'avenir cette fonction pour chaque case du plateau if plateau[0][0] != 0: multi_mvmt_g(7, 0, plateau[7][0]) def clic_droit_a1(z): der_case = plateau[0][0] #valeur de la case de destination dest_x = 0 #coordonées de la case de destination dest_y = 0 return der_case return dest_x return dest_y def clic_droit_a2(z): der_case = plateau[0][1] dest_x = 0 dest_y = 1 return der_case return dest_x return dest_y def clic_droit_a3(z): der_case = plateau[0][2] dest_x = 0 dest_y = 2 return der_case return dest_x return dest_y def clic_droit_a4(z): der_case = plateau[0][3] dest_x = 0 dest_y = 3 return der_case return dest_x return dest_y def clic_droit_a5(z): der_case = plateau[0][4] dest_x = 0 dest_y = 4 return der_case return dest_x return dest_y def clic_droit_a6(z): der_case = plateau[0][5] dest_x = 0 dest_y = 5 return der_case return dest_x return dest_y def clic_droit_a7(z): der_case = plateau[0][6] dest_x = 0 dest_y = 6 return der_case return dest_x return dest_y def clic_droit_a8(z): der_case = plateau[0][7] dest_x = 0 dest_y = 7 return der_case return dest_x return dest_y def clic_droit_b1(z): der_case = plateau[1][0] dest_x = 1 dest_y = 0 return der_case return dest_x return dest_y def clic_droit_b2(z): der_case = plateau[1][1] dest_x = 1 dest_y = 1 return der_case return dest_x return dest_y def clic_droit_b3(z): der_case = plateau[1][2] dest_x = 1 dest_y = 2 return der_case return dest_x return dest_y def clic_droit_b4(z): der_case = plateau[1][3] dest_x = 1 dest_y = 3 return der_case return dest_x return dest_y def clic_droit_b5(z): der_case = plateau[1][4] dest_x = 1 dest_y = 4 return der_case return dest_x return dest_y def clic_droit_b6(z): der_case = plateau[1][5] dest_x = 1 dest_y = 5 return der_case return dest_x return dest_y def clic_droit_b7(z): der_case = plateau[1][6] dest_x = 1 dest_y = 6 return der_case return dest_x return dest_y def clic_droit_b8(z): der_case = plateau[1][7] dest_x = 1 dest_y = 7 return der_case return dest_x return dest_y def clic_droit_c1(z): der_case = plateau[2][0] dest_x = 2 dest_y = 0 return der_case return dest_x return dest_y def clic_droit_c2(z): der_case = plateau[2][1] dest_x = 2 dest_y = 1 return der_case return dest_x return dest_y def clic_droit_c3(z): der_case = plateau[2][2] dest_x = 2 dest_y = 2 return der_case return dest_x return dest_y def clic_droit_c4(z): der_case = plateau[2][3] dest_x = 2 dest_y = 3 return der_case return dest_x return dest_y def clic_droit_c5(z): der_case = plateau[2][4] dest_x = 2 dest_y = 4 return der_case return dest_x return dest_y def clic_droit_c6(z): der_case = plateau[2][5] dest_x = 2 dest_y = 5 return der_case return dest_x return dest_y def clic_droit_c7(z): der_case = plateau[2][6] dest_x = 2 dest_y = 6 return der_case return dest_x return dest_y def clic_droit_c8(z): der_case = plateau[2][7] dest_x = 2 dest_y = 7 return der_case return dest_x return dest_y def clic_droit_d1(z): der_case = plateau[3][0] dest_x = 3 dest_y = 0 return der_case return dest_x return dest_y def clic_droit_d2(z): der_case = plateau[3][1] dest_x = 3 dest_y = 1 return der_case return dest_x return dest_y def clic_droit_d3(z): der_case = plateau[3][2] dest_x = 3 dest_y = 2 return der_case return dest_x return dest_y def clic_droit_d4(z): der_case = plateau[3][3] dest_x = 3 dest_y = 3 return der_case return dest_x return dest_y def clic_droit_d5(z): der_case = plateau[3][4] dest_x = 3 dest_y = 4 return der_case return dest_x return dest_y def clic_droit_d6(z): der_case = plateau[3][5] dest_x = 3 dest_y = 5 return der_case return dest_x return dest_y def clic_droit_d7(z): der_case = plateau[3][6] dest_x = 3 dest_y = 6 return der_case return dest_x return dest_y def clic_droit_d8(z): der_case = plateau[3][7] dest_x = 3 dest_y = 7 return der_case return dest_x return dest_y def clic_droit_e1(z): der_case = plateau[4][0] dest_x = 4 dest_y = 0 return der_case return dest_x return dest_y def clic_droit_e2(z): der_case = plateau[4][1] dest_x = 4 dest_y = 1 return der_case return dest_x return dest_y def clic_droit_e3(z): der_case = plateau[4][2] dest_x = 4 dest_y = 2 return der_case return dest_x return dest_y def clic_droit_e4(z): der_case = plateau[4][3] dest_x = 4 dest_y = 3 return der_case return dest_x return dest_y def clic_droit_e5(z): der_case = plateau[4][4] dest_x = 4 dest_y = 4 return der_case return dest_x return dest_y def clic_droit_e6(z): der_case = plateau[4][5] dest_x = 4 dest_y = 5 return der_case return dest_x return dest_y def clic_droit_e7(z): der_case = plateau[4][6] dest_x = 4 dest_y = 6 return der_case return dest_x return dest_y def clic_droit_e8(z): der_case = plateau[4][7] dest_x = 4 dest_y = 7 return der_case return dest_x return dest_y def clic_droit_f1(z): der_case = plateau[5][0] dest_x = 5 dest_y = 0 return der_case return dest_x return dest_y def clic_droit_f2(z): der_case = plateau[5][1] dest_x = 5 dest_y = 1 return der_case return dest_x return dest_y def clic_droit_f3(z): der_case = plateau[5][2] dest_x = 5 dest_y = 2 return der_case return dest_x return dest_y def clic_droit_f4(z): der_case = plateau[5][3] dest_x = 5 dest_y = 3 return der_case return dest_x return dest_y def clic_droit_f5(z): der_case = plateau[5][4] dest_x = 5 dest_y = 4 return der_case return dest_x return dest_y def clic_droit_f6(z): der_case = plateau[5][5] dest_x = 5 dest_y = 4 return der_case return dest_x return dest_y def clic_droit_f7(z): der_case = plateau[5][6] dest_x = 5 dest_y = 6 return der_case return dest_x return dest_y def clic_droit_f8(z): der_case = plateau[5][7] dest_x = 5 dest_y = 7 return der_case return dest_x return dest_y def clic_droit_g1(z): der_case = plateau[6][0] dest_x = 6 dest_y = 0 return der_case return dest_x return dest_y def clic_droit_g2(z): der_case = plateau[6][1] dest_x = 6 dest_y = 1 return der_case return dest_x return dest_y def clic_droit_g3(z): der_case = plateau[6][2] dest_x = 6 dest_y = 2 return der_case return dest_x return dest_y def clic_droit_g4(z): der_case = plateau[6][3] dest_x = 6 dest_y = 3 return der_case return dest_x return dest_y def clic_droit_g5(z): der_case = plateau[6][4] dest_x = 6 dest_y = 4 return der_case return dest_x return dest_y def clic_droit_g6(z): der_case = plateau[6][5] dest_x = 6 dest_y = 5 return der_case return dest_x return dest_y def clic_droit_g7(z): der_case = plateau[6][6] dest_x = 6 dest_y = 6 return der_case return dest_x return dest_y def clic_droit_g8(z): der_case = plateau[6][7] dest_x = 6 dest_y = 7 return der_case return dest_x return dest_y def clic_droit_h1(z): der_case = plateau[7][0] dest_x = 7 dest_y = 0 return dest_x return dest_y return der_case def clic_droit_h2(z): der_case = plateau[7][1] dest_x = 7 dest_y = 1 return dest_x return dest_y return der_case def clic_droit_h3(z): der_case = plateau[7][2] dest_x = 7 dest_y = 2 return dest_x return dest_y return der_case def clic_droit_h4(z): der_case = plateau[7][3] dest_x = 7 dest_y = 3 return dest_x return dest_y return der_case def clic_droit_h5(z): der_case = plateau[7][4] dest_x = 7 dest_y = 4 return dest_x return dest_y return der_case def clic_droit_h6(z): der_case = plateau[7][5] dest_x = 7 dest_y = 5 return dest_x return dest_y return der_case def clic_droit_h7(z): der_case = plateau[7][6] dest_x = 7 dest_y = 6 return dest_x return dest_y return der_case def clic_droit_h8(z): der_case = plateau[7][7] dest_x = 7 dest_y = 7 return dest_x return dest_y return der_case def multi_mvmt_g(x, y, w): def mvmt_g(x, y, w):# x et y sont les coordonnées de la case de départ et w la valeur dans la matrice clique = 0 der_case = "" dest_x = "" dest_y = "" while clique != 1 or clique != 2: #boucle qui attend qu'on clique sur une autre case if der_case == "": #tant qu'on a pas cliqué on ne fait rien clique = 0 elif der_case == plateau[x][y]:#si la case de destination a la meme valeur que la case de depart on sort de la boucle clique = 1 else:# si la case de destionation est différente on deplace la valeur de départ vers la case d'arrivée plateau[x][y] = 0 plateau[dest_x][dest_y] = w clique = 2 clique = 0 #on remet toute les variable a 0 der_case = "" dest_x = "" dest_y = "" multi_mouv_g = Thread(target=mvmt_g(x, y, w)) #thead de la fonction de mouvement général multi_mouv_g.start()