PS:
Sieh von solchen Dingen ab
if( a == true )
das bringt nichts. A ist sowieso bei dir ein bool. Den musst du in C++
nicht auf true vergleichen. Nenn lieber die Variable besser.
static bool button1Pressed = false;
...
if( button1Pressed )
....
da haben alle mehr davon, als wie wenn du sinnlose Vergleiche machst.
Das if interessiert sich nur dafür, ob der Ausdruck in der Klammer true
oder false ergibt. Ob das jetzt so ist, weil die boolsche Variable
selbst schon true oder false ist, oder ob du da noch einen Vergleich
machst, das ist dem if völlig wurscht. Das if interessiert nur, welches
Ergebnis der Ausdruck insgesamt hat, true oder false. Ob dazu ein
Vergleiche notwendig ist oder nicht, ist dem if Powidel.
Und noch ein PS:
Du sollst nicht selbst über den Status des Buttons Buch führen, sondern
den Button selbst befragen, ob er gedrückt ist oder nicht! Dann kann
auch nie irgdnwas durcheinander kommen. Wenn du dieselbe 'Information'
wie der Button selbst noch einmal speicherst (denn der Button führt ja
selber auch darüber Buch ob er gedrückt ist oder nicht, schliesslich
muss er sich ja anders hinmalen), dann läufst potentiell in das
Datenbank Dlemma: Speichere dieselbe Information 5 mal ab, und alle 5
Kopien werden irgendwann nicht mehr übereinstimmen. Man speichert ein
und dieselbe Information nur ein einziges mal, dann kann da auch nichts
inkonsistent sein.