Passer au contenu principal

Équations conditionnelles

Les équations conditionnelles vous permettent d'inclure une logique de comparaison dans les formules de colonnes de tableau de ligue et de statistiques de joueurs. Au lieu d'une expression purement arithmétique, vous pouvez écrire une formule où une…

Mis à jour aujourd’hui

Équations conditionnelles

Les équations conditionnelles vous permettent d'inclure une logique de comparaison dans les formules de colonnes de tableau de ligue et de statistiques de joueurs. Au lieu d'une expression purement arithmétique, vous pouvez écrire une formule où une sous-expression s'évalue à 1 (vrai) ou 0 (faux) en fonction d'une comparaison, puis multiplier ce résultat dans un calcul plus grand.

Cette fonctionnalité est fournie par le module d'équations conditionnelles, inclus dans l'extension principale SportsPress dans includes/sportspress/modules/sportspress-conditional-equations.php.

Opérateurs de comparaison

Lorsque le module d'équations conditionnelles est actif, les opérateurs suivants sont ajoutés à la palette du générateur d'équations sous Opérateurs :

Bouton

Signification

>

Supérieur à

<

Inférieur à

(stocké comme ==)

Égal à

(stocké comme !=)

Différent de

(stocké comme >=)

Supérieur ou égal à

(stocké comme <=)

Inférieur ou égal à

Ces opérateurs sont disponibles dans le générateur d'équations pour les Colonnes de tableau et les Statistiques des joueurs.

Comment l'évaluation fonctionne

Une sous-expression conditionnelle entre parenthèses s'évalue à 1 (la condition est vraie) ou 0 (la condition est fausse).

Le schéma général est :

( opérande_gauche opérateur opérande_droit ) * valeur_si_vrai

Étant donné qu'une condition vraie retourne 1 et qu'une condition fausse retourne 0, multiplier par la condition agit comme une porte si/alors : la valeur est incluse lorsque la condition est vraie et mise à zéro lorsqu'elle est fausse.

Pour exprimer une structure si/alors/sinon, combinez deux expressions conditionnelles :

( condition ) * valeur_si_vrai + ( condition_niée ) * valeur_si_faux

Ou plus simplement, puisque les deux branches sont mutuellement exclusives :

( condition ) * valeur_si_vrai + ( 1 - ( condition ) ) * valeur_si_faux

Exemples

Plafonner une valeur à un maximum

Pour donner au maximum 3 points pour une victoire mais plafonner pour que la différence de buts supérieure à 10 n'ajoute pas de supplément :

$win * 3 + ( ($goalsfor - $goalsagainst) > 10 ) * 0

Un exemple de plafonnement plus simple — limiter la différence de buts à un maximum de 10 :

( ($goalsfor - $goalsagainst) > 10 ) * 10 + ( ($goalsfor - $goalsagainst) <= 10 ) * ($goalsfor - $goalsagainst)

Lorsque $goalsfor - $goalsagainst est supérieur à 10, la première branche retourne 10. Lorsqu'elle est égale ou inférieure à 10, la deuxième branche retourne la différence réelle.

Score avec handicap

Pour ajouter un point bonus lorsque les buts pour dépassent les buts contre de plus de 2 :

$win * 3 + ( ($goalsfor - $goalsagainst) > 2 ) * 1

La sous-expression ( ($goalsfor - $goalsagainst) > 2 ) s'évalue à 1 lorsque la condition est satisfaite et à 0 autrement. Multiplier par 1 ajoute un point bonus uniquement dans ce cas.

Mettre une valeur à zéro conditionnellement

Pour afficher la différence de buts uniquement lorsqu'elle est positive (sinon afficher 0) :

( ($goalsfor - $goalsagainst) > 0 ) * ($goalsfor - $goalsagainst)

Conditions imbriquées

Les conditions peuvent être imbriquées dans des expressions plus larges. Le moteur d'équations évalue d'abord les parenthèses les plus internes. Vous pouvez envelopper une expression conditionnelle dans des parenthèses externes et la combiner avec d'autres opérateurs.

Par exemple :

( ( $goalsfor > $goalsagainst ) * 3 ) + ( ( $goalsfor == $goalsagainst ) * 1 )

Cela accorde 3 points si les buts pour dépassent les buts contre, 1 point si égaux, et 0 sinon.

Quand utiliser des équations conditionnelles vs des équations régulières

Utilisez une équation arithmétique ordinaire lorsque le calcul est toujours la même formule quel que soit les valeurs — par exemple, $win * 3 + $draw * 1.

Utilisez une équation conditionnelle lorsque le résultat dépend de la plage dans laquelle une valeur tombe, lorsque vous devez plafonner ou établir un minimum pour une valeur, ou lorsque vous souhaitez inclure un bonus ou une pénalité qui ne s'applique que sous certaines conditions.

N'utilisez pas d'équations conditionnelles pour les attributions de points simples victoire/défaite/nul. L'approche standard est d'utiliser $win * 3 + $draw * 1 sans conditions. Réservez les expressions conditionnelles aux cas où la valeur de points ou la valeur affichée change en fonction de l'ampleur d'un résultat.

Construire des équations conditionnelles dans le générateur

  1. Ouvrez l'écran de modification d'une Colonne de tableau ou d'une Statistique de joueur.

  2. Dans la boîte de méta Équation, utilisez la ligne Opérateurs dans la palette pour cliquer sur ( pour ouvrir un groupe de parenthèses.

  3. Ajoutez la variable de l'opérande gauche (par exemple, cliquez sur un jeton de Résultat comme Buts pour).

  4. Cliquez sur l'opérateur - et une autre variable pour former une différence.

  5. Cliquez sur l'opérateur de comparaison (par exemple > pour supérieur à).

  6. Cliquez sur une constante (par exemple 10).

  7. Cliquez sur ) pour fermer le groupe de parenthèses.

  8. Cliquez sur * puis la valeur à multiplier lorsque la condition est vraie.

  9. Ajoutez + et l'expression de repli pour le cas faux si nécessaire.

  10. Cliquez sur Publier ou Mettre à jour pour enregistrer.

L'équation stockée est une chaîne séparée par des espaces telle que ( $goalsfor - $goalsagainst > 10 ) * 10. Vous pouvez inspecter ou modifier cette chaîne directement si nécessaire en lisant la valeur de méta de publication sp_equation.

Avez-vous trouvé la réponse à votre question ?