Arduino Simon dit (3 / 7 étapes)

Étape 3: Plus de code

Nous commençons avec la fonction « reset game » où nous remplir notre tableau GAME_SEQUENCE

 <p>void resetGame(){<br> // reset steps READ_STEP = 0; GAME_STEP = 0; // create random sequence for(int i=0; i<GAME_MAX_SEQUENCE; i++){<br> GAME_SEQUENCE[i] = random(4) + 1;<br> }</p><p> // Go to next game state; show led sequence GAME_STATUS = 1; }</p> 

Notre prochaine étape jeu serait l’étape de lecture où nous jouons la séquence

 void playSequence(){<br> // play a step of our sequence for(int i=0; i<=GAME_STEP; i++){ Serial.print("Set LED"); Serial.println(GAME_SEQUENCE[i]); delay(GAME_SPEED*2); setLED(GAME_SEQUENCE[i]); playTone(GAME_SEQUENCE[i]); delay(GAME_SPEED); clearLEDs(); } // Go to next step: reading buttons GAME_STATUS = 2; } 

Après avoir joué notre séquence nous attendre pour l’entrée bouton poussoir

 void readSequence(){<br> // read our buttons int button_value = readButtons(); if(button_value > 0){ // a button has been pressed if(button_value == GAME_SEQUENCE[READ_STEP]){ // correct value! setLED(button_value); playTone(button_value); digitalWrite(LED_CORRECT, HIGH); delay(GAME_SPEED); clearLEDs(); digitalWrite(LED_CORRECT, LOW); // Lets speed it up! GAME_SPEED = GAME_SPEED-15; Serial.println("Correct!"); if(READ_STEP == GAME_STEP){ // reset read step READ_STEP = 0; // Go to next game step GAME_STEP++; // Go to playback sequence mode of our game GAME_STATUS = 1; Serial.println("Go To Next Step"); // Light all LEDs to indicate next sequence setLEDs(true,true,true,true); delay(GAME_SPEED); setLEDs(false,false,false,false); }else{ READ_STEP++; } delay(10); }else{ // wrong value! // Go to game over mode GAME_STATUS = 3; Serial.println("Game Over!"); } } delay(10); } 

Enfin, lorsque vous faites une erreur, nous exécutons le modus « game over » :

 void gameOver(){<br> // Red RGB digitalWrite(LED_WRONG, HIGH); // Play Pwa Pwa Pwa tone(BUZZER, 98, TONE_DURATION); delay(TONE_DURATION); tone(BUZZER, 93, TONE_DURATION); delay(TONE_DURATION); tone(BUZZER, 87, TONE_DURATION); delay(TONE_DURATION); delay(GAME_SPEED); } 

Nous avons également quelques fonctions d’assistance qui rendent notre vie plus facile, ils peuvent être utilisés n’importe où dans notre code

 void setLED(int id){<br> switch(id){ case 0: setLEDs(false,false,false,false); break; case 1: setLEDs(true,false,false,false); break; case 2: setLEDs(false,true,false,false); break; case 3: setLEDs(false,false,true,false); break; case 4: setLEDs(false,false,false,true); break; } } 
 void playTone(int id){ switch(id){ case 0: noTone(BUZZER); break; case 1: tone(BUZZER, RED_TONE, TONE_DURATION); break; case 2: tone(BUZZER, GREEN_TONE, TONE_DURATION); break; case 3: tone(BUZZER, BLUE_TONE, TONE_DURATION); break; case 4: tone(BUZZER, YELLOW_TONE, TONE_DURATION); break; } } 
 void setLEDs(boolean red, boolean green, boolean blue, int yellow ){ if (red) digitalWrite(LED_RED, HIGH); else digitalWrite(LED_RED, LOW); if (green) digitalWrite(LED_GREEN, HIGH); else digitalWrite(LED_GREEN, LOW); if (blue) digitalWrite(LED_BLUE, HIGH); else digitalWrite(LED_BLUE, LOW); if (yellow) digitalWrite(LED_YELLOW, HIGH); else digitalWrite(LED_YELLOW, LOW); } 
 void clearLEDs(){ setLEDs(false,false,false,false); } 
 int readButtons(void){ if (digitalRead(BUTTON_RED) == 0) return 1; else if (digitalRead(BUTTON_GREEN) == 0) return 2; else if (digitalRead(BUTTON_BLUE) == 0) return 3; else if (digitalRead(BUTTON_YELLOW) == 0) return 4; return 0; } 

Articles Liés

Arduino Simon dit jeu

Arduino Simon dit jeu

Il s'agit d'un amusant projet j'ai fait avec mes enfants pendant les vacances.Pour abriter ce jeu, j'ai décidé d'utiliser une vieille boîte de l'iPhone 5c. J'avais juste traîner et il semble sur la bonne taille.Liste des composants :(Note : tous les
Total Recall - Arduino Simon Says sur stéroïdes !

Total Recall - Arduino Simon Says sur stéroïdes !

Total Recall est un Simon jeu basé pour l'Arduino. Votre base Arduino Simon Game se compose de 4 boutons, 4 LEDs, un Arduino, certains codes et peut-être un orateur et effets sonores. Total Recall prend les choses un peu plus loin en ajoutant un écra
Arduino - Simple Simon dit jeu

Arduino - Simple Simon dit jeu

dans ce instructable, je vais vous montrer comment faire un simple Simon dit jeu en utilisant un Arduino. Il n'est pas simple, mais nous pouvons obtenir un avantage psychologique. J'ai un mauvais souvenir à se rappeler quelque chose de rapide ou une
Arduino Simon Says

Arduino Simon Says

dans ce Instructable je vais vous montrer comment remonter un très simple Simon dit jeu en utilisant un Arduino Micro contrôleur. Tout d'abord, j'ai commencé ce projet en 2010 et il n'ont pas repris à nouveau depuis. A beaucoup changé dans le monde d
Simon dit 6 leds

Simon dit 6 leds

Dans ce instructable je vais vous montrer comment mettre ensemble qu'un simon dit jeu avec 6 LED en utilisant un arduino. J'ai commencé ce projet comme un projet de l'école au début de cette année (2014) et maintenant j'ai terminé.C'est un jeu très s
Amélioré le Code « Simon dit »

Amélioré le Code « Simon dit »

Un projet de 'Simple Simon' mise à jour.Plus précisément, plus facile de travailler avec la mise en œuvre logicielle.Étape 1: Mise en routeJ'ai commencé avec l'instructable à « Simple-Simon-dit-Game »Référence pour la mise en œuvre matérielle général
Simon dit Narnia garde-robe jeu

Simon dit Narnia garde-robe jeu

cette année à la traiter d'O tronc à mon église, j'ai fait le jeu de « Simon Says Narnia ». C'est le jeu électronique Simon par Hasbro intégré dans une armoire en bois comme dans le film le monde de Narnia, « Le Lion, la sorcière blanche et l'armoire
Jeu de Simon dit avec contrôleur Unique « tornade »

Jeu de Simon dit avec contrôleur Unique « tornade »

j'ai fait ce projet pour un projet de classe finale dans ma classe de technologies artisanat ce semestre passé. L'objectif de ce projet est de faire un contrôle tampon planche twister pour n'importe quel jeu makey makey. J'ai utilisé mon contrôle des
Arduino Simon Say

Arduino Simon Say

c'est ma version de l'Arduino Simon SayVous aurez besoin :6 x 220 ohm résistances3 X leds, un pour chaque couleur, rouge, vert, jaune3 X Push buttons1 X ArduinoQuelques câblesÉtape 1: Schéma de Circuits 5 volts passent par les boutons de la LED et de
Simon dit jeu fait à l’aide de Evive (produit embarqué alimenté Arduino)

Simon dit jeu fait à l’aide de Evive (produit embarqué alimenté Arduino)

Comment s'amuser il sera tout d'abord de faire un bricolage jeu et puis lisez-le woth vos amis ! Donc ici, nous allons faire un jeu. Son nom Simon Says. Nous avons fait ce jeu en utilisant evive. Les codes sont élaborés de façon très simple en IDE Ar
Simon dit avec LinkIT ONE

Simon dit avec LinkIT ONE

Let ' s go à travers un projec classique débutant qui combine circuits, code et plaisir : Simon Says. Construction de votre propre jeu de Simon Says peut être une excellente façon de plonger rapidement dans le monde impressionnant de bricolage. Vous
Simon dit à LEDs

Simon dit à LEDs

Salut!À un moment ou un autre, la grande majorité d'entre nous ont tous joué le jeu de « Simon Says ». Dans ce jeu, une seule personne, Simon (ou Susan (Tchad), ou celui qui se trouve être le leader), va dire « Simon says » et dire à tous les autres
Android Bluetooth lance-flammes citrouille x4 Simon dit

Android Bluetooth lance-flammes citrouille x4 Simon dit

MISE EN GARDE ! Ce projet contient des matériaux combustibles extrêmement inflammables.Même si j'ai pris des mesures de précaution supplémentaires, ce projetn'est pas recommandé d'essayer à la maison. Veuillez procéder à vos propres risques.Vous voul
Pointe Simon dit

Pointe Simon dit

Bonjour à tous !Cette instructables montre avancé « Simon Says ».Il y a la raison pourquoi j'ai mis « Advance » à « Simon Says ».Vous savez peut-être ce que Simon Says et facile à trouver avec le projet arduino.(En fait, j'ai fait n'est pas... tout d