Exercice : Animation dièse

Animation du symbole "#"

On désire réaliser l'animation du symbole "#".

L'animation commence par un écran noir puis le symbole apparaît progressivement de la gauche vers la droite jusqu'à disparition complète.

Voici un exemple de solution

CTRL+C pour copier, CTRL+V pour coller
1
from microbit import *
2
3
diese1 = Image( "00000:"
4
                "00000:"
5
                "00000:"
6
                "00000:"
7
                "00000")
8
9
diese2 = Image( "00000:"
10
                "00009:"
11
                "00000:"
12
                "00009:"
13
                "00000")
14
15
diese3 = Image( "00009:"
16
                "00099:"
17
                "00009:"
18
                "00099:"
19
                "00009")
20
21
diese4 = Image( "00090:"
22
                "00999:"
23
                "00090:"
24
                "00999:"
25
                "00090")
26
27
diese5 = Image( "00909:"
28
                "09999:"
29
                "00909:"
30
                "09999:"
31
                "00909")
32
33
diese6 = Image( "09090:"
34
                "99999:"
35
                "09090:"
36
                "09999:"
37
                "09090")
38
39
diese7 = Image( "90900:"
40
                "99990:"
41
                "90900:"
42
                "99990:"
43
                "90900")
44
45
diese8 = Image( "09000:"
46
                "99900:"
47
                "09000:"
48
                "99900:"
49
                "09000")
50
51
diese9 = Image( "90000:"
52
                "99000:"
53
                "90000:"
54
                "99000:"
55
                "90000")
56
57
diese10 = Image("00000:"
58
                "90000:"
59
                "00000:"
60
                "90000:"
61
                "00000")
62
63
diese11 = Image("00000:"
64
                "00000:"
65
                "00000:"
66
                "00000:"
67
                "00000")
68
69
tous_les_dieses = [diese1,diese2,diese3,diese4,diese5,diese6, diese7, diese8, diese9, diese10, diese11]
70
71
display.show(tous_les_dieses, delay=200)
from microbit import *

diese1 = Image( "00000:"
                "00000:"
                "00000:"
                "00000:"
                "00000")

diese2 = Image( "00000:"
                "00009:"
                "00000:"
                "00009:"
                "00000")

diese3 = Image( "00009:"
                "00099:"
                "00009:"
                "00099:"
                "00009")

diese4 = Image( "00090:"
                "00999:"
                "00090:"
                "00999:"
                "00090")

diese5 = Image( "00909:"
                "09999:"
                "00909:"
                "09999:"
                "00909")

diese6 = Image( "09090:"
                "99999:"
                "09090:"
                "09999:"
                "09090")

diese7 = Image( "90900:"
                "99990:"
                "90900:"
                "99990:"
                "90900")

diese8 = Image( "09000:"
                "99900:"
                "09000:"
                "99900:"
                "09000")

diese9 = Image( "90000:"
                "99000:"
                "90000:"
                "99000:"
                "90000")

diese10 = Image("00000:"
                "90000:"
                "00000:"
                "90000:"
                "00000")

diese11 = Image("00000:"
                "00000:"
                "00000:"
                "00000:"
                "00000")

tous_les_dieses = [diese1,diese2,diese3,diese4,diese5,diese6, diese7, diese8, diese9, diese10, diese11]

display.show(tous_les_dieses, delay=200)

Question

Modifier le programme pour utiliser une fonction anim_diese qui nécessite un paramètre a définissant la vitesse d'animation

Tester la fonction suivante dans la console :

CTRL+C pour copier, CTRL+V pour coller
1
>>>a=[1,2,3,4]
2
>>>a.reverse()
3
>>>a
>>>a=[1,2,3,4]
>>>a.reverse()
>>>a

Question

Que se passe-t-il ?

Question

Proposer une modification du programme utilisant la fonction tous_les_dieses.reverse() afin d'animer dans un sens puis dans l'autre le symbole dièse.