Bonjour, je suis sous python 3.8 et je suis en train de créer un petit jeu.
Je manie beaucoup de variables, et je me retrouve régulièrement confronté à me retrouver avec des conditions à rallonge.
Un petit exemple (x et y sont les coordonnées d'un emplacement sur une grille) :
if position_x != entree_x and position_y != entree_y and position_x != sortie_x and position_y != sortie_y and position_x != tresor_x and position_y != tresor_y:
[instructions...]
Vous l'aurez compris, je veux lancer une certaine instruction si mon personnage ne se trouve ni à l'emplacement de l'entrée, ni à l'emplacement de la sortie, ni à l'emplacement du trésor. Bref, le contexte n'est pas très important. Ce que j'aimerais savoir surtout, c'est s'il est possible de simplifier une telle condition !
Du genre :
if position_x != (entree_x, sortie_x, tresor_x) and position_y != (entree_y, sortie_y, tresor_y)
J'ai cherché un peu partout mais je ne trouve pas de réponse à ma question... Vous allez sans doute me dire que j'y gagnerai à rentrer mes coordonnées dans des tuples, mais là n'est pas la question, parce que je me retrouve des fois dans d'autres configurations, qui mêlent différents opérateurs qui plus est ! Par exemple :
if condition is True and (variable == "a" or variable1 == "b" or variable == "c") and variable2 > 2 and variable2 < 4
L'idéal sera d'obtenir quelque chose du genre :
if condition is True and variable == ("a", "b", "c") and 2 < variable2 < 4
Des idées ? Merci !!
Partager