Vorhandenen Sketch erweitern

Nitri:
Denn ich würde gern noch zusätzlich die festgelegte Timerzeit in eine von mir wählbaren Zeit, die ich per Keypad eingebe erweitern. Noch dazu würde ich gern bei einer Codefalscheingabe demjenigen die Chance geben, nochmal den Code ein zu geben. Das ganze drei mal und erst dann, wenns immernoch falsch ist, gehen die Tröten los.
Der Tipp den ich bekommen hatte, war ein Array zu erstellen. Da fängt bei mir schonmal das Problem an. Ich weiss nicht wie, und wie ich das dann in einem vorhandenen Sketch einbinde. Genauso wie die drei Fehlversuche.

Ich würde mich riesig freuen, wenn mir da jemand weiter helfen könnte. Ich bin grad in einer tiefen Depressionsphase :slight_smile: :slight_smile:

Also ist Euer aktueller Status:

  • Ihr habt viel Ahnung vom Paintballspielen
  • Ihr habt ein bisschen Ahnung wie Eure Eletronikkiste mit LCD, Keypad und Tröten zusammengeschaltet ist
  • Ihr habt bereits ein teilweise funktionierendes Programm für die Kiste, das aber geändert werden soll
  • Ihr habt die Möglichkeit, mit der Arduino-Software ein neues Programm in die Kiste zu laden
  • Aber alle zusammen haben null Ahnung vom Programmieren (und beginnende Depressionen)

Ich habe das von Dir gepostete Programm mal überflogen, so sieht es aus:

Änderungswunsch "Timerzeit": So wie ich den Sketch lese, kann jedesmal beim Einschalten (bzw. nach einem Reset des Boards) als erstes der vierstellige Schlüsselcode eingegeben werden. Das kannst Du mit der Timerzeit vom Prinzip her genau so machen. Reicht eine maximal einstellbare Timer-Zeit von 9999 Sekunden, entsprechend gut 2 Stunden und 45 Minuten? Oder eine maximal einstellbare Timer-Zeit von 9999 Minuten, entsprechend knapp einer Woche? Dann machst Du vor oder nach der Schlüsselcode-Eingabe eine vierstellige Timerzeit-Eingabe zwischen 0000 und 9999. Nach Eingabe der Timerzeit wird das nur noch in Stunden, Minuten, Sekunden umgerechnet und das Spiel kann mit einer frei konfigurierten Timerzeit beginnen.

Schwieriger ist es mit der mehrmaligen Falscheingabe-Möglichkeit für das Codeschloss. Das Problem ist, dass das Programm nur wenig modular gegliedert ist, sondern als ziemlicher Spaghetticode zusammengestrickt wurde. Da es sich um ein recht simples Programm handelt, also im wesentlichen um einen Countdown-Timer mit einer Codeschloss-Logik, würde ich das Programm eher in einer übersichtlicheren (und danach auch leichter wartbaren) und klar gegliederten Form nahezu komplett neu programmieren als zu versuchen, die Codeschlosslogik noch in dem vorhandenen Spaghetticode einzufügen.