def Beta(i1:int, j1:int ,k1:int, i2:int ): """La siguiente notacion esta dada para realizar el cambio de color entre dos cuadros. Parameters ---------- i1 : int posición turno n. j1 : int color actual. k1 : int turno n. i2 : int posición turno n. Returns ------- type Description of returned object. """ ant = chr(255+codifica3(i1, j1, k1,Ncuadros,Ncolores,Nturnos)) cons = chr(255+codifica3(i2, j1, k1,Ncuadros,Ncolores,Nturnos)) reg = "-{}O{}".format(ant,cons) return reg
def crea_regla1(): temp = "" result = "" primera_casilla = True count=0 for f in range (1,Nf): for c in range (1,Nc): primera_cl = True for p in range (1,Np): clausula = chr(C.codifica3(c,f,0,Nc,Nf,Np)+256) + "-" clausula += chr(C.codifica3(c,f,p,Nc,Nf,Np)+256) + "Y" for o in range(1,Np): if (p!=o): #print((C.codifica3(c,f,o,Nc,Nf,Np))+256) clausula += chr((C.codifica3(c,f,o,Nc,Nf,Np))+256) +"-"+ "Y" if primera_cl: temp = clausula primera_cl = False else: temp += clausula + "O" if primera_casilla: result = temp primera_casilla=False else: result += temp + "Y" return result
def regla1(): """Ningun cuadro puede tener mas de un color. Returns ------- str """ string= "(" lista1=[] for N in range(0,Nturnos): for s in range(0,Ncuadros): for c in range(0,Ncolores): Y = chr(255 + codifica3(s,c,N,Ncuadros,Ncolores,Nturnos)) string += Y for i in range(Ncolores*4): k =i*6 fin = "({}>-((({}O{})O({}O{}))O({}O{})))".format(string[k],string[k],string[k+2],string[k+3],string[k+4],string[k+5],string[k+5]) lista1.append(fin) string="((((((((((((((((((((((({}Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})Y{})".format(lista1[0],lista1[1],lista1[2],lista1[3],lista1[4],lista1[5],lista1[6],lista1[7],lista1[8],lista1[9],lista1[10],lista1[11],lista1[12],lista1[13],lista1[14],lista1[15],lista1[16],lista1[17],lista1[18],lista1[19],lista1[20],lista1[21],lista1[22],lista1[23]) return string
def basic_1(): final = "" COLORES = [0,0,0,0, # Front 1,1,1,1, # Left 2,2,2,2, # Right 3,3,3,3, # Up 4,4,4,4, # Down 5,5,5,5] # Back L = [] for i in range(0,len(COLORES)): # print(f's: {i}') # print(f'c: {COLORES[i]}') # print(f't: {0}') cod_num = codifica3(i,COLORES[i],0,Ncuadros,Ncolores,Nturnos) n = chr(255+cod_num) L.append(n) final += "({}Y{})".format(L[0],L[1]) for i in range(2,len(L)): final = "(" + final final += "Y{})".format(L[i]) return final
def regla0(): """Short summary. Returns ------- type Description of returned object. """ caras = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24] l_final = [] s_final = "" while (caras != []) : num = rint(0,len(caras)-1) temp = chr(255+codifica3(caras[num], j, 1,Ncuadros,Ncolores,Nturnos)) l_final.append(temp) caras.remove(caras[num]) s_final += "({}Y{})".format(l_final[0],l_final[1]) for i in range(2,len(l_final)): temp = "(" temp += s_final temp += "Y{})".format(l_final[i]) s_final = temp return s_final
def regla2(): taux = "" aux = "" First_c = True for i in range(1, Nc): for j in range (1,Nf): c = True for k in range(1, Np): regla_2 = chr(C.codifica3(i, j, k, Nc, Nf, Np)+256) regla_2 += chr(C.codifica3(i, j, k, Nc, Nf, Np)+256) +"Y" for l in range(2,Np): if(j != i+3): if(k != j+3): regla_2 += chr(C.codifica3(i, j, l, Nc, Nf, Np)+256)+"-"+ "Y" if c: taux += regla_2 c = False else: taux += regla_2 + "O" if First_c: aux = taux else: aux += taux + "Y" return aux
def regla3(): taux = "" aux = "" First_c = True regla_3 = chr(C.codifica3(1, 1, 1, Nf, Nc, Np)+256) +"Y" for i in range(1,Nf): c = True for j in range(1,Nc): for k in range(1, Np): regla_3 = chr(C.codifica3(i, j, 0, Nf,Nc, Np)+256) regla_3 += chr(C.codifica3(i, j, k, Nf, Nc, Np)+256) +"Y" for l in range(1,Np): if (j != l): regla_3 += chr(C.codifica3(i, j, l, Nf, Nc, Np)+256) +"-"+"Y" if c: taux += regla_3 c = False else: taux += regla_3 + "O" if First_c: aux = taux else: aux += taux + "Y" return aux
def Upsilon(m, T): """Short summary. Parameters ---------- m : type Turno actual. T : type Cara del cubo, de 1 a 6; Returns ------- type Description of returned object. """ lista= [] lista2 =[] list_y = "(" string = "" count=1 if(T==1):t=1 elif(T==2):t=5 elif(T==3):t=9 elif(T==4):t=13 elif(T==5):t=17 elif(T==6):t=21 for i in range(t,t+4): for j in range(0,7): Y = chr(255 + codifica3(i,j,m,Ncuadros,Ncolores,Nturnos)) lista.append( Y) lista2.append("((({}Y{})Y{})Y{})".format(lista[0],lista[1],lista[2],lista[3])) lista2.append("((({}Y{})Y{})Y{})".format(lista[4],lista[5],lista[6],lista[7])) lista2.append("((({}Y{})Y{})Y{})".format(lista[8],lista[9],lista[10],lista[11])) lista2.append("((({}Y{})Y{})Y{})".format(lista[12],lista[13],lista[14],lista[15])) lista2.append("((({}Y{})Y{})Y{})".format(lista[16],lista[17],lista[18],lista[19])) lista2.append("((({}Y{})Y{})Y{})".format(lista[20],lista[21],lista[22],lista[23])) string = "((((({}O{})O{})O{})O{})O{})".format(lista2[0],lista2[1],lista2[2],lista2[3],lista2[4],lista2[5]) return string
def basic_0(): final = "" COLORES = [2,0,4,4, 4,5,1,5, 3,2,0,0, 0,3,1,1, 3,2,5,4, 3,2,2,5] L = [] for i in range(0,len(COLORES)): cod_num = codifica3(i,COLORES[i],0,Ncuadros,Ncolores,Nturnos) n = chr(255+cod_num) L.append(n) final += "({}Y{})".format(L[0],L[1]) for i in range(2,len(L)): final = "(" + final final += "Y{})".format(L[i]) return final
from codificacion import codifica3 from random import randint as rint from CubeGraph import RUBIC from operator import * #====================================CODIGO===================================== Ncuadros = 24 #Número de Cuadros Ncolores = 2 #Número de Colores Nturnos = 2 #Número de Turnos max = 0 lC= [] for i in range(0,Ncuadros): for j in range(0,Ncolores): for k in range(0,Nturnos): cod_num = codifica3(i,j,k,Ncuadros,Ncolores,Nturnos) if (cod_num > max): max = cod_num n = chr(255+cod_num) lC.append(n) # cud,col,tur = decodifica3(ord(n)- 255,Ncuadros,Ncolores,Nturnos) # print("(X{}-Y{}-Z{}) -> {}".format(i,j,k,n)) # print("{} -> (X{}-Y{}-Z{})\n".format(n,cud,col,tur)) def Beta(i1:int, j1:int ,k1:int, i2:int ): """La siguiente notacion esta dada para realizar el cambio de color entre dos cuadros. Parameters ----------
# print("") # #print("************") # #for l in letras: # f, c = C.decodifica(ord(l) - 256, Nfilas, Ncolumnas) # print(l, "Se decodifica como:", f, c) ###################################################### letrasProposicionales = [chr(i) for i in range(256, 1000)] Nfilas = 9 Ncolumnas = 9 Nobjeto = 10 letras = [] print(C.codifica3(9, 9, 9, 10, 10, 10) + 256) print(C.decodifica3(ord("Ӧ") - 256, 10, 10, 10)) a = True if a: print("r") a = False else: print("j") #print(ord("Ÿ")) #print("\n\n(filas x columnas) x objetos") #for i in range(Nfilas): # for j in range(Ncolumnas): # for o in range(Nobjeto): # v1 = C.codifica(i, j, Nfilas, Ncolumnas) # v2 = C.codifica(v1, o, Nfilas * Ncolumnas, Nobjeto) # cod = chr(v2 + 256)