Chapitre 6: Les tests et les opérandes. Lorsque vous codez, un plugin ou un programme, vous avez besoin dans la quasi-totalité des cas de faire des tests. En effet, lorsque le client/joueur envoie une donnée au programme/plugin, celui-ci va faire quelque chose en respectant certaines conditions que vous lui aurez préalablement donné. Par exemple, lorsque'un joueur tape "amx_cvar sv_password cs-amx", le plugin va vérifier s'il a les droits pour effectuer le changement du mot de pass.
1) Le test "if-then-else"
C'est quoi ce charabia ? Et bien "if-then-else" représente la structure d'un test: - if : est suivi des conditions à respecter - then : est uivi du code à effectuer si elles sont respectées - else : suivi du code à effectuer si elles ne sont pas respectées
Il y a peu de langages dans lesquels on utilise le mot "then". En SMA par exemple, on le remplace par une accolade ouvrante "{", "then" est sous-entendu dans ce cas. Attention: Veillez à refermer un bloc en ajoutant "}" à la fin. C'est très important, si vous ne respectez pas cette convention, le plugin plantera et ne se compilera pas.
Exemples: [color=blue] if (get_user_health(id) == 1) { //si il reste 1 hp au joueur set_user_health(id, 100) // le remettre à 100hp }
[/color]
Voici un simple test que vous avez sans doute compris sans problème. Juste une petite précision: les accolades ne servent à rien ici mais pensez que si vous les enlevez, vous ne pourrez rajouter rien d'autres dans le bloc "if". Tant que vous n'avez pas fini un plugin, je vous conseille de les laisser.
[color=blue] if (get_user_health(id) == 1) { set_user_health(id, 100) } else if (get_user_health(id) == 69) { set_user_health(id, 250) client_print(id, print_chat, "Petit cochon, tu es en pleine forme apres un 69")} [/color] Ici, 2 tests s'enchainent, il n'y a que pour les valeurs 1 et 69 (de vie) que l'on effectue quelque chose. On pourrait rajouter une autre ligne comme suit: [color=blue] if (get_user_health(id) == 1) { set_user_health(id, 100) } else if (get_user_health(id) == 69) { set_user_health(id, 250) client_print(id, print_chat, "Petit cochon, tu es en pleine forme apres un 69") } else { client_print(id, print_chat, "Aucun bonus") } [/color] Et voilà, comme ça, on a écrit du code pour 1hp, 69hp, et tous les autres cas possibles. Maintenant, on peut virer quelques accolades inutiles, ce qui donne:
[color=blue] if (get_user_health(id) == 1) set_user_health(id, 100) else if (get_user_health(id) == 69) { set_user_health(id, 250) client_print(id, print_chat, "Petit cochon, tu es en pleine forme apres un 69") } else client_print(id, print_chat, "Aucun bonus") [/color]
2) Les opérandes
C'est bon ? Je ne vous ai pas trop embrouillé l'esprit ? J'espère parce que c'est pas fini. Il me reste encore à vous parler des opérandes (vous savez comme le "==" ?). Et bien les voici: - "==" : si les 2 expressions sont égales- "!=" : si les 2 expressions sont différentes- "<" : si la première expression est strictement inférieure à la seconde- ">" : si la première expression est strictement supérieure à la seconde- "<=" : si la première expression est inférieure ou égale à la seconde- ">=" : si la première expression est supérieure ou égale à la seconde
C'est bon ? Encore un ch'tit truc et c'est fini. A mettre entre 2 conditions:- "&&" : AND, les 2 conditions entourant ceci doivent être respectées- "||" : OR, l'une des 2 conditions doit être respectée
Ouf...ça y est, je voulais aussi vous parler des indentations mais je crois que je vais plutôt en parler au chapitre suivant, un chapitre cooool...
Date de création : 11/12/2005 @ 14:53
Dernière modification : 13/05/2006 @ 18:31
Catégorie : 5- Les plugins
Page lue 1721 fois
Prévisualiser la page
Imprimer la page
|