-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathtuto.py
86 lines (67 loc) · 2.4 KB
/
tuto.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
from time import sleep
from utils import clear, readArgs, colorize, translate_mvt, newGetch, TermColors
from algo import algo_cfop
from images_ascii import aideMouvements
SPEED = 0.5 #écrans / sec
def tuto(cube, mouvements):
"""
tuto
:Args:
cube {Cube} Un cube à la sortie de lecture_cube
mouvements {List} Suite de mouvements à appliquer sur le cube
pour le résoudre, calculée par algo_cfop()
"""
#lecture des paramètres
params = readArgs()
speed = float(params['speed']) if 'speed' in params else SPEED
resolution = " ".join([translate_mvt(x) for x in mouvements])
mouvementsDone = []
mouvementsRestants = list(mouvements)
clear()
if 'auto' in params:
print('Positionnez la face bleue face à vous et la face blanche face au sol\n')
print('Le tuto en mode auto va bientôt commencer, tenez vous prêt !')
sleep(3)
clear()
sleep(1)
print("Exécution de la manoeuvre : {}".format(resolution) )
print(cube)
for m in mouvements:
clear()
mouvementsRestants.remove(m)
method = getattr(cube, 'rot_' + m)
method()
print(
"Exécution de la manoeuvre : "
#les mouvements effectués
+ TermColors.green + \
"{}".format(" ".join([translate_mvt(x) for x in mouvementsDone]))+ \
TermColors.end + ' ' +
#le mouvement actuel
TermColors.bgGreen + translate_mvt(m) + TermColors.end + \
#les mouvements restant
" {}".format(" ".join([translate_mvt(x) \
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)