|
@@ -0,0 +1,602 @@
|
|
|
|
+
|
|
|
|
+/*
|
|
|
|
+ Arduino Spiel
|
|
|
|
+ Autor: Johannes Tümler, Janek Franz, Marvin Richter
|
|
|
|
+ Letzte Änderung: 14.07.2020
|
|
|
|
+ Zweck: Beleg 3 Hilfscode für den Start
|
|
|
|
+*/
|
|
|
|
+
|
|
|
|
+unsigned char gesamtpunktzahl;
|
|
|
|
+byte x;
|
|
|
|
+byte y;
|
|
|
|
+byte lauf;
|
|
|
|
+byte xsetz;
|
|
|
|
+byte ysetz;
|
|
|
|
+byte bew;
|
|
|
|
+const int red = 13, blue = 11, green = 12;
|
|
|
|
+
|
|
|
|
+void setup()
|
|
|
|
+{
|
|
|
|
+ Serial.begin(9600);
|
|
|
|
+ gesamtpunktzahl = 0;
|
|
|
|
+ randomSeed(analogRead(0));
|
|
|
|
+ pinMode(red, OUTPUT);
|
|
|
|
+ pinMode(green, OUTPUT);
|
|
|
|
+ pinMode(blue, OUTPUT);
|
|
|
|
+ pinMode(10, INPUT_PULLUP);
|
|
|
|
+ pinMode(9, INPUT_PULLUP);
|
|
|
|
+ pinMode(8, INPUT_PULLUP);
|
|
|
|
+ pinMode(7, INPUT_PULLUP);
|
|
|
|
+ pinMode(6, INPUT_PULLUP);
|
|
|
|
+ pinMode(5, INPUT_PULLUP);
|
|
|
|
+ pinMode(4, INPUT_PULLUP);
|
|
|
|
+ pinMode(3, INPUT_PULLUP);
|
|
|
|
+ pinMode(2, INPUT_PULLUP);
|
|
|
|
+ pinMode(1, INPUT_PULLUP);
|
|
|
|
+ pinMode(0, INPUT_PULLUP);
|
|
|
|
+ resetAllPins();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void resetAllPins()
|
|
|
|
+{
|
|
|
|
+ // alle Pins auf definierte Werte setzen (sonst wissen wir nicht, welchen Wert sie gerade haben.)
|
|
|
|
+ digitalWrite(red, LOW);
|
|
|
|
+ digitalWrite(green, LOW);
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ // Alle nachfolgenden Pins werden auf HIGH gesetzt, sodass sie auf ein GND/Masse-Signal reagieren können.
|
|
|
|
+ digitalWrite(0, HIGH);
|
|
|
|
+ digitalWrite(1, HIGH);
|
|
|
|
+ digitalWrite(2, HIGH);
|
|
|
|
+ digitalWrite(3, HIGH);
|
|
|
|
+ digitalWrite(4, HIGH);
|
|
|
|
+ digitalWrite(5, HIGH);
|
|
|
|
+ digitalWrite(6, HIGH);
|
|
|
|
+ digitalWrite(7, HIGH);
|
|
|
|
+ digitalWrite(8, HIGH);
|
|
|
|
+ digitalWrite(9, HIGH);
|
|
|
|
+ digitalWrite(10, HIGH);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void blink(const int *pin)
|
|
|
|
+{
|
|
|
|
+ digitalWrite(*pin, HIGH);
|
|
|
|
+ delay(500);
|
|
|
|
+ digitalWrite(*pin, LOW);
|
|
|
|
+ delay(500);
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void loop()
|
|
|
|
+{
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ blink(&green);
|
|
|
|
+ blink(&green);
|
|
|
|
+ blink(&red);
|
|
|
|
+ blink(&red);
|
|
|
|
+ blink(&red);
|
|
|
|
+
|
|
|
|
+ x = 0;
|
|
|
|
+ y = 0;
|
|
|
|
+
|
|
|
|
+ digitalWrite(2,HIGH);
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (digitalRead(2) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(2,HIGH);
|
|
|
|
+ level1();
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(3) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(3,HIGH);
|
|
|
|
+ level2();
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(5) == LOW) // Hier im Beispiel: Wenn ein Masse-Signal / GND an Pin 5 liegt, dann blinkt es.
|
|
|
|
+ {
|
|
|
|
+ blink(&red);
|
|
|
|
+ digitalWrite(5, HIGH);
|
|
|
|
+ }
|
|
|
|
+ resetAllPins();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void level1()
|
|
|
|
+{
|
|
|
|
+ Serial.println("Level 1");
|
|
|
|
+ if(x == 0 && y == 0){
|
|
|
|
+ x = random(1,6);
|
|
|
|
+ y = random(1,6);
|
|
|
|
+ Serial.println(String(x));
|
|
|
|
+ Serial.println(String(y));
|
|
|
|
+ }
|
|
|
|
+ coordsx1();
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void level2()
|
|
|
|
+{
|
|
|
|
+ Serial.print("Level 2");
|
|
|
|
+ if(x == 0 && y == 0){
|
|
|
|
+ x = random(1,6);
|
|
|
|
+ y = random(1,6);
|
|
|
|
+ }
|
|
|
|
+ digitalWrite(3,HIGH);
|
|
|
|
+ Serial.println("Anfangs Koords");
|
|
|
|
+ Serial.println(String(x));
|
|
|
|
+ Serial.println(String(y));
|
|
|
|
+ coordsx2();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void coordsx1()
|
|
|
|
+{
|
|
|
|
+
|
|
|
|
+ while (xsetz == 0){
|
|
|
|
+ digitalWrite(green, HIGH);
|
|
|
|
+ if (digitalRead(6) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(green, LOW);
|
|
|
|
+ xsetz = 1;
|
|
|
|
+ delay(500);
|
|
|
|
+ coordsy1();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(7) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(green, LOW);
|
|
|
|
+ xsetz = 2;
|
|
|
|
+ delay(500);
|
|
|
|
+ coordsy1();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (digitalRead(8) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(green, LOW);
|
|
|
|
+ xsetz = 3;
|
|
|
|
+ delay(500);
|
|
|
|
+ coordsy1();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(9) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(green, LOW);
|
|
|
|
+ xsetz = 4;
|
|
|
|
+ delay(500);
|
|
|
|
+ coordsy1();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(10) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(green, LOW);
|
|
|
|
+ xsetz = 5;
|
|
|
|
+ delay(500);
|
|
|
|
+ coordsy1();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void coordsy1()
|
|
|
|
+{
|
|
|
|
+ digitalWrite(blue, HIGH);
|
|
|
|
+ while (ysetz == 0){
|
|
|
|
+ if (digitalRead(6) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ ysetz = 1;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(7) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ ysetz = 2;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (digitalRead(8) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ ysetz = 3;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(9) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ ysetz = 4;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(10) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ ysetz = 5;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ Serial.println(String(xsetz));
|
|
|
|
+ Serial.println(String(ysetz));
|
|
|
|
+ }
|
|
|
|
+ delay(1000);
|
|
|
|
+ digitalWrite(blue,HIGH);
|
|
|
|
+ digitalWrite(green,HIGH);
|
|
|
|
+ delay(200);
|
|
|
|
+ digitalWrite(blue,LOW);
|
|
|
|
+ digitalWrite(green,LOW);
|
|
|
|
+ delay(500);
|
|
|
|
+ posi1();
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void posi1()
|
|
|
|
+{
|
|
|
|
+ gesamtpunktzahl ++;
|
|
|
|
+ if(x == xsetz && y == ysetz)
|
|
|
|
+ {
|
|
|
|
+ Serial.print("Treffer");
|
|
|
|
+ xsetz = 0;
|
|
|
|
+ ysetz = 0;
|
|
|
|
+ //digitalWrite(2, HIGH);
|
|
|
|
+ digitalWrite(6, HIGH);
|
|
|
|
+ digitalWrite(7, HIGH);
|
|
|
|
+ digitalWrite(8, HIGH);
|
|
|
|
+ digitalWrite(9, HIGH);
|
|
|
|
+ digitalWrite(10, HIGH);
|
|
|
|
+ gewonnen();
|
|
|
|
+ }
|
|
|
|
+ else if((x + 1 == xsetz or x - 1 == xsetz or x == xsetz)&& (y == ysetz or y + 1 == ysetz or y - 1 == ysetz))
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(red, HIGH);
|
|
|
|
+ Serial.print("1");
|
|
|
|
+ delay(2000);
|
|
|
|
+ xsetz = 0;
|
|
|
|
+ ysetz = 0;
|
|
|
|
+ //digitalWrite(2,HIGH);
|
|
|
|
+ digitalWrite(6, HIGH);
|
|
|
|
+ digitalWrite(7, HIGH);
|
|
|
|
+ digitalWrite(8, HIGH);
|
|
|
|
+ digitalWrite(9, HIGH);
|
|
|
|
+ digitalWrite(10, HIGH);
|
|
|
|
+ digitalWrite(red, LOW);
|
|
|
|
+ coordsx1();
|
|
|
|
+ }
|
|
|
|
+ else if((x + 2 == xsetz or x - 2 == xsetz or x == xsetz)&& (y == ysetz or y + 2 == ysetz or y - 2 == ysetz))
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, HIGH);
|
|
|
|
+ Serial.print("2");
|
|
|
|
+ delay(2000);
|
|
|
|
+ xsetz = 0;
|
|
|
|
+ ysetz = 0;
|
|
|
|
+ //digitalWrite(2, HIGH);
|
|
|
|
+ digitalWrite(6, HIGH);
|
|
|
|
+ digitalWrite(7, HIGH);
|
|
|
|
+ digitalWrite(8, HIGH);
|
|
|
|
+ digitalWrite(9, HIGH);
|
|
|
|
+ digitalWrite(10, HIGH);
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ coordsx1();
|
|
|
|
+ }
|
|
|
|
+ else if ((x + 2 >= xsetz or x - 2 <= xsetz or x == xsetz)&& (y == ysetz or y + 2 >= ysetz or y - 2 <= ysetz))
|
|
|
|
+ {
|
|
|
|
+ xsetz = 0;
|
|
|
|
+ ysetz = 0;
|
|
|
|
+ //digitalWrite(2, HIGH);
|
|
|
|
+ digitalWrite(6, HIGH);
|
|
|
|
+ digitalWrite(7, HIGH);
|
|
|
|
+ digitalWrite(8, HIGH);
|
|
|
|
+ digitalWrite(9, HIGH);
|
|
|
|
+ digitalWrite(10, HIGH);
|
|
|
|
+ coordsx1();
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void gewonnen()
|
|
|
|
+{
|
|
|
|
+
|
|
|
|
+ for(byte lauf = 3; lauf >= 1;lauf--)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(red,HIGH);
|
|
|
|
+ delay(100);
|
|
|
|
+ digitalWrite(red,LOW);
|
|
|
|
+ digitalWrite(green, HIGH);
|
|
|
|
+ delay(100);
|
|
|
|
+ digitalWrite(green,LOW);
|
|
|
|
+ digitalWrite(blue,HIGH);
|
|
|
|
+ delay(100);
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ }
|
|
|
|
+ for(gesamtpunktzahl; gesamtpunktzahl >= 1;gesamtpunktzahl --)
|
|
|
|
+ {
|
|
|
|
+
|
|
|
|
+ digitalWrite(red,HIGH);
|
|
|
|
+ digitalWrite(green,HIGH);
|
|
|
|
+ digitalWrite(blue,HIGH);
|
|
|
|
+ delay(300);
|
|
|
|
+ digitalWrite(red,LOW);
|
|
|
|
+ digitalWrite(green,LOW);
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ delay(300);
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ software_Reset();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void coordsx2()
|
|
|
|
+{
|
|
|
|
+
|
|
|
|
+ while (xsetz == 0){
|
|
|
|
+ digitalWrite(green, HIGH);
|
|
|
|
+ if (digitalRead(6) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(green, LOW);
|
|
|
|
+ xsetz = 1;
|
|
|
|
+ delay(500);
|
|
|
|
+ coordsy2();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(7) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(green, LOW);
|
|
|
|
+ xsetz = 2;
|
|
|
|
+ delay(500);
|
|
|
|
+ coordsy2();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (digitalRead(8) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(green, LOW);
|
|
|
|
+ xsetz = 3;
|
|
|
|
+ delay(500);
|
|
|
|
+ coordsy2();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(9) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(green, LOW);
|
|
|
|
+ xsetz = 4;
|
|
|
|
+ delay(500);
|
|
|
|
+ coordsy2();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(10) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(green, LOW);
|
|
|
|
+ xsetz = 5;
|
|
|
|
+ delay(500);
|
|
|
|
+ coordsy2();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void coordsy2()
|
|
|
|
+{
|
|
|
|
+ digitalWrite(blue, HIGH);
|
|
|
|
+ while (ysetz == 0){
|
|
|
|
+ if (digitalRead(6) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ ysetz = 1;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(7) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ ysetz = 2;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ if (digitalRead(8) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ ysetz = 3;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(9) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ ysetz = 4;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (digitalRead(10) == LOW)
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ ysetz = 5;
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ Serial.println(String(xsetz));
|
|
|
|
+ Serial.println(String(ysetz));
|
|
|
|
+ }
|
|
|
|
+ delay(1000);
|
|
|
|
+ digitalWrite(blue,HIGH);
|
|
|
|
+ digitalWrite(green,HIGH);
|
|
|
|
+ delay(200);
|
|
|
|
+ digitalWrite(blue,LOW);
|
|
|
|
+ digitalWrite(green,LOW);
|
|
|
|
+ delay(500);
|
|
|
|
+ posi2();
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void posi2()
|
|
|
|
+{
|
|
|
|
+ gesamtpunktzahl ++;
|
|
|
|
+ if(x == xsetz && y == ysetz)
|
|
|
|
+ {
|
|
|
|
+ Serial.print("Treffer");
|
|
|
|
+ xsetz = 0;
|
|
|
|
+ ysetz = 0;
|
|
|
|
+ //digitalWrite(2, HIGH);
|
|
|
|
+ digitalWrite(6, HIGH);
|
|
|
|
+ digitalWrite(7, HIGH);
|
|
|
|
+ digitalWrite(8, HIGH);
|
|
|
|
+ digitalWrite(9, HIGH);
|
|
|
|
+ digitalWrite(10, HIGH);
|
|
|
|
+ gewonnen();
|
|
|
|
+ }
|
|
|
|
+ else if((x + 1 == xsetz or x - 1 == xsetz or x == xsetz)&& (y == ysetz or y + 1 == ysetz or y - 1 == ysetz))
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(red, HIGH);
|
|
|
|
+ Serial.print("1");
|
|
|
|
+ delay(2000);
|
|
|
|
+ xsetz = 0;
|
|
|
|
+ ysetz = 0;
|
|
|
|
+ //digitalWrite(2,HIGH);
|
|
|
|
+ digitalWrite(6, HIGH);
|
|
|
|
+ digitalWrite(7, HIGH);
|
|
|
|
+ digitalWrite(8, HIGH);
|
|
|
|
+ digitalWrite(9, HIGH);
|
|
|
|
+ digitalWrite(10, HIGH);
|
|
|
|
+ digitalWrite(red, LOW);
|
|
|
|
+ bewegung();
|
|
|
|
+ }
|
|
|
|
+ else if((x + 2 == xsetz or x - 2 == xsetz or x == xsetz)&& (y == ysetz or y + 2 == ysetz or y - 2 == ysetz))
|
|
|
|
+ {
|
|
|
|
+ digitalWrite(blue, HIGH);
|
|
|
|
+ Serial.print("2");
|
|
|
|
+ delay(2000);
|
|
|
|
+ xsetz = 0;
|
|
|
|
+ ysetz = 0;
|
|
|
|
+ //digitalWrite(2, HIGH);
|
|
|
|
+ digitalWrite(6, HIGH);
|
|
|
|
+ digitalWrite(7, HIGH);
|
|
|
|
+ digitalWrite(8, HIGH);
|
|
|
|
+ digitalWrite(9, HIGH);
|
|
|
|
+ digitalWrite(10, HIGH);
|
|
|
|
+ digitalWrite(blue, LOW);
|
|
|
|
+ bewegung();
|
|
|
|
+ }
|
|
|
|
+ else if ((x + 2 >= xsetz or x - 2 <= xsetz or x == xsetz)&& (y == ysetz or y + 2 >= ysetz or y - 2 <= ysetz))
|
|
|
|
+ {
|
|
|
|
+ xsetz = 0;
|
|
|
|
+ ysetz = 0;
|
|
|
|
+ //digitalWrite(2, HIGH);
|
|
|
|
+ digitalWrite(6, HIGH);
|
|
|
|
+ digitalWrite(7, HIGH);
|
|
|
|
+ digitalWrite(8, HIGH);
|
|
|
|
+ digitalWrite(9, HIGH);
|
|
|
|
+ digitalWrite(10, HIGH);
|
|
|
|
+ bewegung();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void bewegung()
|
|
|
|
+{
|
|
|
|
+ bew = random(1,9);
|
|
|
|
+
|
|
|
|
+ if (bew == 1)
|
|
|
|
+ {
|
|
|
|
+ x++;
|
|
|
|
+ y++;
|
|
|
|
+ if ((x > 5 or x < 1) or (y > 5 or y < 1))
|
|
|
|
+ {
|
|
|
|
+ x--;
|
|
|
|
+ y--;
|
|
|
|
+ bewegung();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ else if (bew == 2)
|
|
|
|
+ {
|
|
|
|
+ x++;
|
|
|
|
+ y--;
|
|
|
|
+ if ((x > 5 or x < 1) or (y > 5 or y < 1))
|
|
|
|
+ {
|
|
|
|
+ x--;
|
|
|
|
+ y++;
|
|
|
|
+ bewegung();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ else if (bew == 3)
|
|
|
|
+ {
|
|
|
|
+ x--;
|
|
|
|
+ y++;
|
|
|
|
+ if ((x > 5 or x < 1) or (y > 5 or y < 1))
|
|
|
|
+ {
|
|
|
|
+ x++;
|
|
|
|
+ y--;
|
|
|
|
+ bewegung();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ else if (bew == 4)
|
|
|
|
+ {
|
|
|
|
+ x--;
|
|
|
|
+ y--;
|
|
|
|
+ if ((x > 5 or x < 1) or (y > 5 or y < 1))
|
|
|
|
+ {
|
|
|
|
+ x++;
|
|
|
|
+ y++;
|
|
|
|
+ bewegung();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ else if (bew == 5)
|
|
|
|
+ {
|
|
|
|
+ x++;
|
|
|
|
+ if ((x > 5 or x < 1) or (y > 5 or y < 1))
|
|
|
|
+ {
|
|
|
|
+ x--;
|
|
|
|
+ bewegung();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ else if (bew == 6)
|
|
|
|
+ {
|
|
|
|
+ y++;
|
|
|
|
+ if ((x > 5 or x < 1) or (y > 5 or y < 1))
|
|
|
|
+ {
|
|
|
|
+ y--;
|
|
|
|
+ bewegung();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ else if (bew == 7)
|
|
|
|
+ {
|
|
|
|
+ x--;
|
|
|
|
+ if ((x > 5 or x < 1) or (y > 5 or y < 1))
|
|
|
|
+ {
|
|
|
|
+ x++;
|
|
|
|
+ bewegung();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ else if (bew == 8)
|
|
|
|
+ {
|
|
|
|
+ y--;
|
|
|
|
+ if ((x > 5 or x < 1) or (y > 5 or y < 1))
|
|
|
|
+ {
|
|
|
|
+ y++;
|
|
|
|
+ bewegung();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ Serial.print("Neue Koords");
|
|
|
|
+ Serial.println(String(x));
|
|
|
|
+ Serial.println(String(y));
|
|
|
|
+ coordsx2();
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+void software_Reset()
|
|
|
|
+{
|
|
|
|
+asm volatile (" jmp 0");
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|