Beispiel #1
0
def getTimes11400Cubes():
    liste = []
    with open(JEU_TEST) as data_file: #on parse le jeu de test JSON
            data = json.load(data_file)
            tests = data["cubes"]
            for test in tests: # on parcours tout les cubes
                tmps1=time.clock()
                b,c = lecture_cube(test)
                c,mouv = algo_cfop(c) # on fais l'algo
                tmps2=time.clock()
                liste.append(tmps2-tmps1)
    return liste
Beispiel #2
0
def getTimes11400Cubes():
    liste = []
    with open(JEU_TEST) as data_file:  #on parse le jeu de test JSON
        data = json.load(data_file)
        tests = data["cubes"]
        for test in tests:  # on parcours tout les cubes
            tmps1 = time.clock()
            b, c = lecture_cube(test)
            c, mouv = algo_cfop(c)  # on fais l'algo
            tmps2 = time.clock()
            liste.append(tmps2 - tmps1)
    return liste
Beispiel #3
0
def solve_full(cube_c54):
    """
    solve_full

    :Args:
        cube_c54    {String}     Le cube passé sous sa forme '54 facettes colorées'

    :Returns:
        ({String|None}, {None|List}, {None|Cube})
        (erreur, liste des mouvements, cube en entrée)
    """
    err, cube_lu = lecture_cube(cube_c54)
    if err:
        return err, None, None
    else:
        err, mouvements = algo_cfop(cube_lu.copy())
        return (err, None, None) if err \
            else (None, mouvements, cube_lu)
Beispiel #4
0
    def runTest(self):
        """Test de l'algo CFOP"""
        with open(JEU_TEST) as data_file: #on parse le jeu de test JSON
            data = json.load(data_file)
            cubes = data['cubes']

            error = False
            bugs = []

            for cube in cubes:
                err, c = lecture_cube(cube)
                if err:
                    raise Error("Erreur lecture_cube \n" + cube)
                err = algo_cfop(c)[0]
                if err:
                    bugs.append(cube)
                    error = True

            if error:
                for b in bugs:
                    print(b, "\n")

            self.assertFalse(error, "Certains cubes ne sont pas résolus")
Beispiel #5
0
                for x in mouvementsRestants])
            ) + '\n'
        )

        if 'moves' not in params:
            print(cube)
        else:
            #L'utilisateur a demandé de voir l'aide des mouvements
            print(aideMouvements(cube, m))
            print("Rotation : ", translate_mvt(m) +'\n\n')

        mouvementsDone.append(m)

        if 'auto' not in params:
            print('Press any key to continue . . .\n')
            newGetch()
        else:
            sleep(1 / speed)

if __name__ == '__main__':
    from lire_entree import lecture_cube
    cube = 'OGRBWYBGBGYYOYOWOWGRYOOOBGBRRYRBWWWRBWYGROWGRYBRGYWBOG'
    error, c = lecture_cube(cube)
    if error:
        raise Error(error)

    c0 = c.copy()

    mouvements = algo_cfop(c)

    tuto(c0, mouvements)
Beispiel #6
0
def getTimeDefaultCube():
    tmps1=time.clock()
    b,c = lecture_cube(DEFAULT_CUBE)
    c,mouv = algo_cfop(c) # on fais l'algo
    tmps2=time.clock()
    return tmps2-tmps1
Beispiel #7
0
def getTimeDefaultCube():
    tmps1 = time.clock()
    b, c = lecture_cube(DEFAULT_CUBE)
    c, mouv = algo_cfop(c)  # on fais l'algo
    tmps2 = time.clock()
    return tmps2 - tmps1