Bonjour,
Je suis en train de fabriquer une main en 3D et je souhaite pouvoir faire un Shifumi contre elle.
Chaque doigt est dirigé par un moteur.
Il faudrait qu'elle fasse aléatoirement pierre, feuille ou ciseaux.
void loop() {
switch(random(3)) { // on tire un nombre aléatoire entre 0 et 2 (3 possibilités donc)
case 0: pierre (); break; // si c'est 0 on fait pierre
case 1: feuille (); break; // si c'est 1 on fait feuille
case 2: ciseaux (); break; // si c'est 2 on fait ciseaux
default: break; // ne peut pas arriver mais c'est bien de mettre toujours un default à son switch/case
}
delay (4000);
}
Attention, sans randomSeed la série est toujours la même. Si on joue en 20 points, on peut retenir les 20 premières mains et gagner à coup sûr.
Avec randomSeed(analogRead(A1)); c'est un peu mieux, mais la valeur retournée ne va pas donner un vrai départ au hasard, mais donne pas plus d'une dizaine de série. Moins si c'est dans un bon boîtier. L'idéal serait d'initialiser avec une horloge en temps réel ou d'initialiser avec ce que retourne millis() quand on appuie sur un bouton "démarrer le jeu".