Jan R. schrieb:
> Bräuche dringend einen Tipp danke schonmal.
INdem du einen "vorher nachher Vergleich" durchführst.
Schaust du aus dem Fenster zum Badezimmer der Nachbarin und siehst du,
dass das Fenster dunkel ist, dann merkst du dir das 'dunkel'.
Schaust du 2 Sekunden später wieder hin und bemerkst: das Fenster ist
dunkel, dann sagt dir das: es war vorher dunkel und ist jetzt dunkel -
da hat sich nichts getan.
Schaust du aber wieder 2 Sekunden später hin dann stellst du zb fest:
das Fenster ist hell!
Aus der Tatsache das das Fenster vor 2 Sekunden noch dunkel war und
jetzt hell erleuchtet ist, schliesst du in Sherlock Holmes Manier
messerscharf: während dieser 2 Sekunden hat wer das Licht aufgedreht. Es
kann nicht vorher gewesen sein, dann vorher war das Fenster die ganze
Zeit dunkel. Und 2 Sekunden später, beim nächsten hinschauen, ist das
Fenster immer noch erleuchtet, d.h. der Zustand hat sich nicht
verändert. Nein, genau in diesen 2 Sekunden, in denen sich der Zustand
von dunkel auf hell geändert hat, genau in diesem Zeitraum muss wer das
LIcht aufgedreht haben. Eine andere Möglichkeit gibt es nicht.
Pseudocode
1 | now = Tastenzustand feststellen
|
2 |
|
3 | if( now != previous )
|
4 | {
|
5 | // AHA! da hat sich was verändert!
|
6 | if( now == Taste gedrückt )
|
7 | {
|
8 | // jawohl doch. Die Taste wurde niedergedrückt
|
9 |
|
10 | mach irgendwas mit der INformation, dass die Taste niedergedrückt
|
11 | wurde
|
12 | }
|
13 |
|
14 | previous = now
|
15 | }
|
Wenn deine Taster (momentan) noch nicht allzusehr prellen, dann reicht
das schon, wenn nicht dann mach eine kleine Wartezeit nach Erkennen des
Tastendrucks rein, damit in dieser Zeit der Preller abklingen kann.