la réponse est "oui tu peux" et "l'écriture est correcte"
personnellement je préfère mettre les choses entre parenthèses pour que ce soit clair, mais ce n'est pas obligatoire.
Oui tu peux utiliser le ou logique dans une condition.
Par contre les test button1 == 0 ainsi que button2 == 0 ne fonctionnera pas, puisque ça ressemble fort a de l'affectation de pin physique. Donc button1 et 2 auront la valeur du numéro de pin sur lesquelles sont connectés tes boutons et ne contiennent donc pas l'état du bouton.
Chose que tu fais juste ensuite avec digitalRead(), fonction qui elle renvoie l'état d'une pin et donc d'un éventuel bouton.
en effet, il y a comme quelque chose de bizarre dans le code proposé, à mon avis rd35520 voulait tester l'état précédent des boutons dans son while donc plutôt un truc du genre :
Après, ce n'était pas l'objet de la question au départ, mais si tu souhaites apprendre à gérer l'appui sur plusieurs boutons, tu peux t'inspirer de ce tuto.
Edit : arg, le temps que j'envoie t'avais déjà corrigé ton post jambe, désolé pour le doublon...
Bon quand j’exécute le code et que j'actionne un des deux bouton rien ne se passe
mais si j'actionne les 2 en même temps c bon. Je comprend pas pourquoi mon || logique
donne un && logique
Avant tout il faudrait savoir comment sont cablés tes boutons. Est ce qu'il sont à LOW quand tu relaches ou quant tu appuies?
Tel que tu le décrit tes bouton sont à LOW quand tu relaches donc il faut que les deux boutons soient appuyés pour continuer.
De plus les lignes suivantes ne servent à rien car elles ne font que lre les entrées sans les mémoriser.
digitalRead(buttonLion); //buttonState mémorise l'appuie du bouton
digitalRead(buttonTigre);