LU14.A02 - Schachuhr

Auftrag

Erstellen Sie ein Programm, dass wie eine Schachuhr funktioniert. Ihr Programm soll dazu auf die Enter ihrer Tastatur reagieren. Jedesmal wenn Enter gedrückt wird, wird die Zeit zwischen dem letzten und dem aktuellen Drücken ausgerechnet und entweder Spieler A oder Spieler B dazugerechnet. Damit kann die Gesamt-Bedenkzeit während eines Schachturnieres gemessen werden.

Ablauf in der Konsole

[Für Start Enter drücken]

Spieler A ist dran

Zeit Spieler A: 0:00:01
Zeit Spieler B: 0:00:00
Aktueller Spieler: B

Zeit Spieler A: 0:00:01
Zeit Spieler B: 0:00:03
Aktueller Spieler: A

Zeit Spieler A: 0:00:03
Zeit Spieler B: 0:00:03
Aktueller Spieler: B

Lösungsschritte

1. Entertaste

Schreiben Sie ein Programm, dass jedes mal Enter printet, wenn die Entertaste gedrückt wird.

1. Start endlosschleife
  1.1 Lese input
  1.2 Wenn input == ''
    1.2.1 printe: 'Enter'

2. Aktuelle Zeit

Recherchiren Sie nun, wie sie die aktuelle Uhrzeit in eine Variable speichern können. Speichern Sie nun die aktuelle Uhrzeit in eine Variable nachdem Sie dem User geprintet haben wie er das Spiel starten kann:

1 Printe: '[Für Start Enter drücken]'
2 Lese input
3 Speichere die aktuell Uhrzeit in eine Variable ''time_start''
4 Start endlosschleife
  4.1 Lese input
  4.2 Wenn input == ''
    4.2.1 Printe: 'Enter'

Speichern Sie anschliessend die Zeit, wenn er zum zweiten mal Enter drückt und ziehen Sie diese voneinander ab um die Zeitdifferenz zu erhalten. Drucken Sie diesen Wert anschliessend aus.

1 Printe: '[Für Start Enter drücken]'
2 Lese input
3 Speichere die aktuell Uhrzeit in eine Variable ''time_start''
4 Start endlosschleife
  4.1 Lese input
  4.2 Wenn input == ''
    4.2.1 Speichere die Uhrzeit in eine neue Variable ''time_end''
    4.2.2 Ziehe die Uhrzeit ''time_start'' von ''time_end'' ab und speichern sie den Wert.
    4.2.3 Speichere den Wert in eine Variable vom Typ ''timedelta'' mit dem Namen ''playtime''
    4.2.4 Printe 'Spielzeit ...'

3. Umbauen für 2 Personen

Gratulation, Sie haben jetzt einen Timer für eine Person erstellt!

Um auf zwei Personen auszubauen brauchen Sie nun folgendes:

Versuchen Sie nun die Schachuhr zu vervollständigen!

In den Lösungen habe ich nebst der Python-Lösung auch den Ablauf nochmals genau beschriben.


⇒ GitHub Repo für externe Besucher

GitHub Repository https://github.com/templates-python/m319-lu14-a02-chessclock

Lernende am BZZ müssen den Link zum GitHub Classroom Assignment verwenden

Vorname Nachname