❤ 0 Chapitre 14 : améliorons les conditions avec des cases !!!
Il est fréquent que nous utilisons de multiple If combiné avec elseif pour tester une même variable pour faire des "effets différents". Il y a moyen d'éviter les if imbriqué à gogo avec les Select Case.
c'est très simple, on "teste" une variable et en fonction de sa valeur on fait jouxjoux avec.
Regardez cette exemple :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Local Vie As Integer
Vie=0
Select Case Vie
Case 0
Print "Vous n'avez plus de vie"
Exit Select
Case 1
Print "C'est votre dernière vie"
Exit Select
Case Else
Print "Vous êtes large en vie !!!"
Exit Select
End Select |
Select Case <nom_variable>
va récupérer les données de variable choisis. Ensuite on test juste la valeur voulu avec
Case <Valeur>
On réalise la programmation que vous voulez et n'oubliez pas le Exit Select avant de passer à la Case suivante ou au End Select qui termine cette méga condition.
<Case Else> permet tous simplement de faire jouer un morceau de code si le reste n'est pas valide ! Ce n'est pas obligatoire de placer un Case Else bien sur.
Dans notre gros exemple d'avant, dans la procedure DrawMap() on teste la variabe id pour poser la tuile et placer une valeur dans un tableau. Nous utilisons des if et des elseif. Cela fonctionne bien mais avec des cases voici ce que ça peut donner !
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
If id=0 Then
T_Map_Collision(X,Y)=1
ElseIf id=1 Then
DrawTilesInc 255,x*2,y*2,2,2
T_Map_Collision(X,Y)=0
ElseIf id=2 Then
DrawTilesInc 259,x*2,y*2,2,2
T_Map_Collision(X,Y)=1
End If
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
Select Case id
Case 0
T_Map_Collision(X,Y)=1
Exit Select
Case 1
DrawTilesInc 255,x*2,y*2,2,2
T_Map_Collision(X,Y)=0
Exit Select
Case 2
DrawTilesInc 259,x*2,y*2,2,2
T_Map_Collision(X,Y)=1
Exit Select
End Select
|
C'est donc une autre manière de faire et peut être beaucoup plus lisible.
Voila pour ce petit article sur les Cases.
|