// Änderungen notwendig.
#include "Setting.h" // Alle wichtigen Definitionen. Änderung notwendig
#include "pitches.h"" // Definition der Töne.
#include "Startmelodie.h" // Startmelodie. Änderung bei Bedarf.
#include "Gewonnen.h" // Licht und Musik, falls das Spiel gewonnen wird. Änderung notwendig
#include "Verloren.h" // Licht und Musik, falls das Spiel verloren wird. Änderung notwendig.
#include "playBuzzer.h" // Buzzertöne während des Spiels. Änderung bei Bedarf.
#include "Level1.h" // Level 1 Änderung notwendig.
#include "Level2.h" // Level 2 Anderung notwendig.
#include "Level3.h" // Level 3 Änderung notwendig.
void setup() {
pinMode(led8, OUTPUT);
pinMode(led9, OUTPUT);
pinMode(led10, OUTPUT);
pinMode(led11, OUTPUT);
pinMode(led12, OUTPUT);
pinMode(led13, OUTPUT);
digitalWrite(led8, LOW);
digitalWrite(led9, LOW);
digitalWrite(led10, LOW);
digitalWrite(led11, LOW);
digitalWrite(led12, LOW);
digitalWrite(led13, LOW);
pinMode(button8, INPUT_PULLUP);
pinMode(button9, INPUT_PULLUP);
pinMode(button10, INPUT_PULLUP);
pinMode(button11, INPUT_PULLUP);
pinMode(button12, INPUT_PULLUP);
pinMode(button13, INPUT_PULLUP);
pinMode(button_White,INPUT);
pinMode(button_Black,INPUT);
pinMode (buzzer, OUTPUT) ;
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay();
display.display();
display.setTextSize(3);
display.setTextColor(SSD1306_WHITE);
display.setCursor(0, 8);
display.println(F("SGO-JIA"));
display.display();
delay(2000);
display.clearDisplay();
display.setTextSize(2);
display.setCursor(10,2);
display.println(F("von"));
display.setTextSize(1);
display.setCursor(30,20);
display.println(F("TEAM JULIUS"));
display.display();
delay(1000);
Startmelodie();
display.clearDisplay();
display.setTextSize(1);
display.setCursor(18,16);
display.println(F("Waehle ein Level."));
display.display();
delay(2000);
}
void loop() {
buttonStatus=analogRead(0);
delay(200);
if(buttonStatus>900){
count1=count1+1;
delay(50);
}
if(count1%3==2){
display.clearDisplay();
display.setTextSize(3);
display.setCursor(0,10);
display.println(F("Level 1"));
display.display();
delay(50);
}
else if (count1%3==1){
display.clearDisplay();
display.setTextSize(3);
display.setCursor(0,10);
display.println(F("Level 2"));
display.display();
delay(50);
}
else if (count1%3==0){
display.clearDisplay();
display.setTextSize(3);
display.setCursor(0,10);
display.println(F("Level 3"));
display.display();
delay(50);
}
buttonStatus1=analogRead(1);
if(buttonStatus1>900 && count1%3==2){
Level1();
}
else if (buttonStatus1>900 && count1%2==1){
Level2();
}
else if (buttonStatus1>900 && count1%3==0){
Level3();
}
}
void Level1(){
for (int i = 0; i <= RundenInLevel1; i++) {
randomSeed(analogRead(7));
simonSaid[i] = random(8,14);
}
bool gameOver = 0;
while (gameOver == 0) {
for (int i = 1; i < (RundenInLevel1 + 1); i++) {
delay (500);
Counter=i;
for (int g = 0; g < i; g++) { // Lichter, die in jeder Runde für eine bestimmte Zeit vorgegeben werden.
digitalWrite(simonSaid[g], HIGH);
playBuzzer(simonSaid[g]);
delay(400);
digitalWrite(simonSaid[g], LOW);
delay(50);
}
for (int g = 0; g < i; g++) { //Überprüfung der eingegebenen Farben in jeder Runde.
int sensorButton8=1;
int sensorButton9 = 1;
int sensorButton10 = 1;
int sensorButton11 = 1;
int sensorButton12 = 1;
int sensorButton13 = 1;
int buttonPressed = 0; // Das ist kein Schalter.
while (sensorButton8 == HIGH && sensorButton9 == HIGH && sensorButton10 == HIGH && sensorButton11 == HIGH && sensorButton12 == HIGH && sensorButton13 == HIGH) { //until a button is pressed keep checking all of them
sensorButton10 = digitalRead(button10);
sensorButton8 = digitalRead(button8);
sensorButton9 = digitalRead(button9);
sensorButton11 = digitalRead(button11);
sensorButton12 = digitalRead(button12);
sensorButton13 = digitalRead(button13);
}
delay(200); // a kind of debounce - Wichtig!
//Festlegung, welcher Button gedrückt
if (sensorButton13 == 0){
buttonPressed = 13;
}
else if (sensorButton12 == 0){
buttonPressed = 12;
}
else if (sensorButton11 == 0) {
buttonPressed = 11;
}
else if (sensorButton10 == 0) {
buttonPressed = 10;
}
else if (sensorButton9 == 0) {
buttonPressed = 9;
}
else if (sensorButton8 == 0) {
buttonPressed = 8;
}
digitalWrite(buttonPressed, HIGH); //Licht, vom gedrückten Button leuctet auf
playBuzzer(buttonPressed); // Der entsprechende Sound ertönt.
digitalWrite(buttonPressed, LOW); // Licht erlöscht.
//Überprüfung, ob der richtige Button gedrückt wurde.
if (buttonPressed == (simonSaid[g])) {
}
else {
gameOver = 1;
Verloren();
// Spielende:
display.clearDisplay();
display.setTextSize(1);
display.setCursor(18,16);
display.println(F("Waehle ein Level."));
display.display();
delay(2000);
goto Sprungmarke;
}
}
}
Gewonnen();
display.clearDisplay();
display.setTextSize(1);
display.setCursor(18,16);
display.println(F("Waehle ein Level."));
display.display();
delay(2000);
goto Sprungmarke;
}
Sprungmarke:;
}
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h> // Bibliothek muss unter Sketch-Bibliothek verwalten zunächst eingebettet werden.
#include <Adafruit_SSD1306.h> //Bibliothek muss unter Sketch-Bibliothek verwalten zunächst eingebettet werden.
#define SCREEN_WIDTH 128 // OLED display width, in pixels
#define SCREEN_HEIGHT 32 // OLED display height, in pixels
#define OLED_RESET -1
Adafruit_SSD1306 display(SCREEN_WIDTH, SCREEN_HEIGHT, &Wire, OLED_RESET);
#define led13 13
#define led12 12
#define led11 11
#define led10 10
#define led9 9
#define led8 8
#define button13 7
#define button12 6
#define button11 5
#define button10 4
#define button9 3
#define button8 2
#define button_White A1//schwarzer Button an A0: GND Widerstand 750 kOhm Buttonpin1 Buttonpin2 Widerstand 10KOhm 5V. Kabel nach 750 kOhm und A0
#define button_Black A0//weißer Button an A1: Genau wie bei schwarz
#define buzzer A3
#define RundenInLevel1 8
#define RundenInLevel2 10
#define RundenInLevel3 12
int simonSaid[RundenInLevel1];
int Simonsaid[RundenInLevel2];
int simonsaid[RundenInLevel3];
int Counter=0;
int buttonStatus=0;
int buttonStatus1=0;
int count1=1;Please answer this as soon as possible. The normal Programm is from https://www.instructables.com/Simon-Says-Game-3D-Printable-Arduino-Nano-DIY-Proj/#:~:text=%20Simon%20Says%20Game%20-%203D%20Printable%20|,Prepare%20the%20Buttons.%20We%20need%20to...%20More
I want to have 6 pins connected and 6 Leds connected but I have no idea why it works with 5 Buttons but not with 6 Buttons and 6 Leds. everything besides the Led Buttons work, like the buzzer, the display or the buttons to switch between Levels.
Thank you so much for answering my question
Aucun commentaire:
Enregistrer un commentaire