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

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)

Question

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

Indice

Il faut commencer de la manière suivante :

from microbit import *

def anim_diese(a):

La structure qui suit est celle déjà utilisée avant :

  • la définition des images,

  • la création d'une liste,

  • puis l'affichage successif des images de la liste.

Il ne faut pas oublier d'utiliser "return()".

Il ne faut pas oublier d'appeler la fonction à la fin du programme (anim_diese(150) par exemple.)

Tester la fonction suivante dans la console :

1
>>>a=[1,2,3,4]
2
>>>a.reverse()
3
>>>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.