Comprendre et utiliser efficacement les instructions conditionnelles en C# peut être complexe pour les développeurs.
Sans une bonne maîtrise, cela peut entraîner un code inefficace et difficile à maintenir, surtout dans le développement de jeux Unity.
Cet article vous guide à travers les fondamentaux des instructions conditionnelles en C#, en utilisant des exemples pratiques pour clarifier ces concepts.
Créez votre premier jeu 3D en C# avec Unity, étape par étape.
En C# (notamment dans le développement de jeux avec Unity), les instructions conditionnelles » if » permettent de contrôler l’exécution du code en fonction de conditions spécifiques. Ces conditions sont souvent basées sur des variables.
À titre d’illustration nous utiliserons dans cette séquence des variables publiques, qui sont accessibles et modifiables depuis l’éditeur Unity. Cela vous permettra de tester le code, au fil des explications, en modifiant directement les valeurs via l’inspecteur.
Voici un exemple de déclaration d’une variable publique en C# :
usingSystem.Collections;
usingSystem.Collections.Generic;
usingUnityEngine;
publicclassMonScript : MonoBehaviour {
publicintplayerHealth;
voidStart() {}
}
La variable « playerHealth » étant publique est modifiable à partir de l’inspecteur. Sauvegardez le script et prenez le temps de vérifier.
L’instruction if est principalement utilisée pour effectuer un contrôle de flux. Mais pour l’utiliser vous aurez besoin en un premier temps, de comprendre et maîtriser l’usage des opérateurs de comparaison.
Les opérateurs de comparaison en C# sont les mêmes que dans la plupart des langages de programmation. Ils comparent des valeurs et retournent un résultat booléen (true ou false).
Voici à suivre une mise à pratique avec des exemples de code des principaux opérateurs de comparaison :
- == (égal à) :Vérifie si deux valeurs sont égales.
usingUnityEngine;
publicclassMonScript : MonoBehaviour {
publicintplayerHealth;
voidStart() {
if (playerHealth == 100) {
Debug.Log("La santé du joueur est maximale.");
// Résultat possible : "La santé du joueur est maximale."
// si playerHealth est 100.
}
}
}
Prenez le temps de modifier dans l’inspecteur la valeur de « playerHealth » et de tester le résultat en lançant le jeu.
- != (différent de) :Vérifie si deux valeurs sont différentes.
void Start() {
if (playerHealth != 100) {
Debug.Log("La santé du joueur n'est pas maximale.");
// Résultat possible : "La santé du joueur n'est pas maximale."
// si playerHealth n'est pas 100.
}
}
- > (supérieur à) :Vérifie si la valeur à gauche est supérieure à la valeur à droite.
void Start() {
if (playerHealth > 50) {
Debug.Log("La santé du joueur est au-dessus de la moitié.");
// Résultat possible : "La santé du joueur est au-dessus de la moitié."
// si playerHealth est supérieur à 50.
}
}
- < (inférieur à) :Vérifie si la valeur à gauche est inférieure à la valeur à droite.
void Start() {
if (playerHealth < 50) {
Debug.Log("La santé du joueur est en dessous de la moitié.");
// Résultat possible : "La santé du joueur est en dessous de la moitié."
// si playerHealth est inférieur à 50.
}
}
Il en va de même pour les opérateurs : inférieur ou égal « <= » et supérieur ou égal « >= »
Pour un contrôle de flux plus élaboré vous pouvez faire appel non seulement au if (si) mais également au else if (sinon si) ou simplement ou els e (sinon).
Illustrons rapidement cela avec du code :
publicintplayerHealth;
voidUpdate() {
if (playerHealth <= 0) {
Debug.Log("Le joueur est mort.");
// Résultat possible : "Le joueur est mort."
// si playerHealth est inférieur ou égal à 0.
}
elseif(playerHealth <= 25) {
Debug.Log("Le joueur est gravement blessé.");
// Résultat possible : "Le joueur est gravement blessé."
// si playerHealth est entre 1 et 25.
}
elseif(playerHealth <= 50) {
Debug.Log("Le joueur est blessé.");
// Résultat possible : "Le joueur est blessé."
// si playerHealth est entre 26 et 50.
}
else {
Debug.Log("Le joueur est en bonne santé.");
// Résultat possible : "Le joueur est en bonne santé."
// si playerHealth est supérieur à 50.
}
}
Ces exemples illustrent comment les structures « if » et « else if » permettent de prendre des décisions basées sur des conditions multiples. Elles sont utiles lorsque chaque condition est distincte et nécessite un traitement spécifique.
Cependant, lorsque plusieurs conditions doivent être évaluées sur une seule variable avec des valeurs bien définies, l’utilisation de nombreuses instructions « if…else if…else » peut rendre le code moins lisible.
Dans ces cas-là, l’instruction » switch » offre une alternative plus claire et structurée pour gérer les choix multiples, en simplifiant le code et en améliorant sa lisibilité.
Formez-vous gratuitement avec Alphorm !
Maîtrisez les compétences clés en IT grâce à nos formations gratuites et accélérez votre carrière dès aujourd'hui.
FAQ
Comment utiliser l'instruction if en C# ?
Quels sont les opérateurs de comparaison en C# ?
Comment déclarer une variable publique en C# ?
Quand utiliser switch au lieu de if en C# ?
Pourquoi utiliser else if en C# ?
Conclusion
En maîtrisant les instructions conditionnelles en C#, vous pouvez créer des jeux plus interactifs et réactifs. Quels autres concepts de programmation souhaitez-vous explorer pour améliorer vos compétences en développement de jeux ?