Étape 11 : Module BuzzWire : le code
Le module devrait ressembler à ceci. Si vous souhaitez créer le module de jeu complet, vous pouvez ignorer cette étape. Le logiciel pour le module complet sera un peu plus loin dans ce instructable. Si vous voulez construire ce module seulement vous pouvez garder à la lecture.
Une chose très importante à noter est que le cuivre est très sensible. Il ira chercher n’importe quel champ électrique près de. Pour cette raison, le code a son si instruction programmée pour supérieur à 1000. Même comme ça, le code est encore très instable, je suggère ne joue ne pas ce jeu même si vous avez beaucoup de matériel électrique à proximité pour une raison quelconque, qu'il semble relever du champ électrique de cet équipement.
C’est le code pour le module buzzwire comme un standalone :
int wireRodPin = A3;int wireFeedbackPin = 53;int BuzzHit = 0;void setup(){pinMode(wireRodPin, INPUT); pinMode(wireFeedbackPin, OUTPUT);}void loop() { BuzzHit = analogRead(wireRodPin); if (BuzzHit > 1000) { digitalWrite(wireFeedbackPin, HIGH); delay(1500); digitalWrite(wireFeedbackPin, LOW); } else { digitalWrite(wireFeedbackPin, LOW); } currentButtonState = digitalRead(buttonGCPin); if (currentButtonState == HIGH && lastButtonState == LOW) { } lastButtonState = currentButtonState; }
Le code pour le module BuzzWire est beaucoup simpeler que le code pour le jeune simon dit module. Mais les bases sont les mêmes. Tout d’abord, nous définissons la puissance réactive,
int wireRodPin = A3;int wireFeedbackPin = 53; int BuzzHit = 0;
Que le programme d’installation :
pinMode(wireRodPin, INPUT); pinMode(wireFeedbackPin, OUTPUT);
Que la fonction de jeu, qui est appelée par la boucle de jeu :
////////////////////////////////////////////////////////////////////////// // //BuzzWire Functions // // // ////////////////////////////////////////////////////////////////////////void buzzwire() { BuzzHit = analogRead(wireRodPin); if (BuzzHit > 1000) { digitalWrite(wireFeedbackPin, HIGH); delay(1500); digitalWrite(wireFeedbackPin, LOW); lives--; } else { digitalWrite(wireFeedbackPin, LOW); } currentButtonState = digitalRead(buttonGCPin); if (currentButtonState == HIGH && lastButtonState == LOW) { lives = 5; } lastButtonState = currentButtonState; }
Comme vous pouvez le voir que la fonction réelle est assez simple. Fondamentalement, on vérifie seulement si la baguette touche le cadre cuivre. Dans ce cas, vous perdez une vie. Si vous le faire sur que vous devez appuyer un bouton et votre vie va être définie à 5, que le jeu sait que le joueur a gagné.
Il y a une assez bonne raison pourquoi nous avons choisi de rendre la victoire à conditionner un bouton. Nous avons essayé rendant afin que la fin de la copperwire avait un attaché du fil différentes si qui pourrait être touché avec la tige, que vous gagnez. Quand bien même les fils où ne se touchent pas nous ne pourrions pas obtenir pour fonctionner. Pour une raison quelconque, les deux fils sertis d’interférer avec un autre, donc nous gratté cette partie et whent pour un bouton.