Ejemplo n.º 1
0
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
Ejemplo n.º 2
0
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
Ejemplo n.º 3
0
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
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
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
Ejemplo n.º 8
0
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
Ejemplo n.º 9
0
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
Ejemplo n.º 10
0
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
    ----------
Ejemplo n.º 11
0
#    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)