|
@@ -20,14 +20,13 @@ seed()
|
|
|
|
|
|
videos_filename = "videos.txt"
|
|
videos_filename = "videos.txt"
|
|
anzahl_aufgaben = 10
|
|
anzahl_aufgaben = 10
|
|
-zeit_zur_verfuegung = 600
|
|
|
|
|
|
|
|
videos = []
|
|
videos = []
|
|
|
|
|
|
|
|
|
|
def stelle_aufgabe(aufgabe, ergebnis):
|
|
def stelle_aufgabe(aufgabe, ergebnis):
|
|
- logging.debug(f"Aufgabe: { aufgabe }")
|
|
|
|
- logging.debug(f"Ergebnis: { ergebnis }")
|
|
|
|
|
|
+ logging.debug(f"Aufgabe: {aufgabe}")
|
|
|
|
+ logging.debug(f"Ergebnis: {ergebnis}")
|
|
|
|
|
|
print(str(aufgabe))
|
|
print(str(aufgabe))
|
|
|
|
|
|
@@ -38,7 +37,7 @@ def stelle_aufgabe(aufgabe, ergebnis):
|
|
print("ENDE")
|
|
print("ENDE")
|
|
exit(0)
|
|
exit(0)
|
|
|
|
|
|
- logging.debug(f"Eingabe: { str(eingabe) }")
|
|
|
|
|
|
+ logging.debug(f"Eingabe: {str(eingabe)}")
|
|
|
|
|
|
wert = 0
|
|
wert = 0
|
|
potenz = 0
|
|
potenz = 0
|
|
@@ -50,7 +49,7 @@ def stelle_aufgabe(aufgabe, ergebnis):
|
|
logging.warning("Kann Eingabe nicht in Wert wandeln.")
|
|
logging.warning("Kann Eingabe nicht in Wert wandeln.")
|
|
wert = None
|
|
wert = None
|
|
|
|
|
|
- logging.debug(f"Eingabewert: { wert }")
|
|
|
|
|
|
+ logging.debug(f"Eingabewert: {wert}")
|
|
|
|
|
|
return wert == ergebnis
|
|
return wert == ergebnis
|
|
|
|
|
|
@@ -63,12 +62,12 @@ def play_video():
|
|
shuffle(videos)
|
|
shuffle(videos)
|
|
logging.info(f"{len(videos)} videos geladen")
|
|
logging.info(f"{len(videos)} videos geladen")
|
|
|
|
|
|
- logging.debug(f"noch { len(videos) } videos vorhanden")
|
|
|
|
|
|
+ logging.debug(f"noch {len(videos)} videos vorhanden")
|
|
subprocess.run(["mpv", "--fs", videos.pop()])
|
|
subprocess.run(["mpv", "--fs", videos.pop()])
|
|
|
|
|
|
|
|
|
|
def frage_weiter():
|
|
def frage_weiter():
|
|
- print("Taste drücken, wenn es weiter gehen soll. Oder 'q' fuer ENDE.")
|
|
|
|
|
|
+ print("Taste drücken, wenn es weiter gehen kann. Oder 'q' fuer ENDE.")
|
|
k = readkey()
|
|
k = readkey()
|
|
if k == "q":
|
|
if k == "q":
|
|
print("ENDE")
|
|
print("ENDE")
|
|
@@ -76,7 +75,8 @@ def frage_weiter():
|
|
|
|
|
|
|
|
|
|
def main():
|
|
def main():
|
|
- zeiten = []
|
|
|
|
|
|
+ relative_dauer = []
|
|
|
|
+ mittel_relative_dauer = 1
|
|
|
|
|
|
aufgaben_vorhanden = []
|
|
aufgaben_vorhanden = []
|
|
for i in getmembers(aufgaben, isfunction):
|
|
for i in getmembers(aufgaben, isfunction):
|
|
@@ -84,44 +84,51 @@ def main():
|
|
aufgaben_vorhanden.append(i)
|
|
aufgaben_vorhanden.append(i)
|
|
|
|
|
|
while True:
|
|
while True:
|
|
- system("clear")
|
|
|
|
|
|
+ # system("clear")
|
|
|
|
|
|
aufgabe_name, aufgabe_function = choice(aufgaben_vorhanden)
|
|
aufgabe_name, aufgabe_function = choice(aufgaben_vorhanden)
|
|
- aufgabe, ergebnis = aufgabe_function()
|
|
|
|
-
|
|
|
|
- gebraucht = int(sum(zeiten)) # fuer anzahl_aufgaben!
|
|
|
|
-
|
|
|
|
- balken = ["-"] * int(zeit_zur_verfuegung * 1.25)
|
|
|
|
- balken[0:gebraucht] = ["+"] * gebraucht
|
|
|
|
- balken[zeit_zur_verfuegung] = "|"
|
|
|
|
- print("({:2d}) {}".format(len(zeiten), "".join(balken)))
|
|
|
|
- print("")
|
|
|
|
-
|
|
|
|
|
|
+ aufgabe, ergebnis, zeitvorgabe = aufgabe_function()
|
|
|
|
+ logging.info(f"{aufgabe_name} mit Zeitvorgabe {zeitvorgabe} Sekunden")
|
|
|
|
+
|
|
|
|
+ richtige = f"Richtige: {len(relative_dauer)}"
|
|
|
|
+ zeit = f"Zeit: {mittel_relative_dauer:.1f}"
|
|
|
|
+ if mittel_relative_dauer <= 0.8:
|
|
|
|
+ emoji = f"\U0001f603" # :-D
|
|
|
|
+ elif mittel_relative_dauer <= 1:
|
|
|
|
+ emoji = f"\U0001f642" # :-)
|
|
|
|
+ elif mittel_relative_dauer <= 1.2:
|
|
|
|
+ emoji = f"\U0001f610" # :-|
|
|
|
|
+ else: # > 1.2
|
|
|
|
+ emoji = f"\U0001f614" # :-(
|
|
|
|
+
|
|
|
|
+ print(f"{richtige} {zeit} {emoji}\n")
|
|
start = datetime.now()
|
|
start = datetime.now()
|
|
e = stelle_aufgabe(aufgabe, ergebnis)
|
|
e = stelle_aufgabe(aufgabe, ergebnis)
|
|
ende = datetime.now()
|
|
ende = datetime.now()
|
|
|
|
|
|
if e:
|
|
if e:
|
|
print("RICHTIG!")
|
|
print("RICHTIG!")
|
|
- zeiten.insert(0, (ende - start).total_seconds())
|
|
|
|
|
|
+ relative_dauer.insert(0, (ende - start).total_seconds() / zeitvorgabe)
|
|
|
|
+ relative_dauer = relative_dauer[0:anzahl_aufgaben]
|
|
|
|
+ mittel_relative_dauer = sum(relative_dauer)/len(relative_dauer)
|
|
sleep(1)
|
|
sleep(1)
|
|
else:
|
|
else:
|
|
print("FALSCH!\n")
|
|
print("FALSCH!\n")
|
|
- print(f"Richtig wäre { ergebnis }.")
|
|
|
|
- zeiten = []
|
|
|
|
|
|
+ print(f"Richtig wäre {ergebnis}.")
|
|
|
|
+ relative_dauer = []
|
|
|
|
+ mittel_relative_dauer = 1
|
|
sleep(2)
|
|
sleep(2)
|
|
|
|
|
|
- zeiten = zeiten[0:anzahl_aufgaben]
|
|
|
|
- logging.debug("Zeiten: { str(zeiten) }")
|
|
|
|
|
|
+ logging.debug(f"Dauer: {str(relative_dauer)}")
|
|
|
|
|
|
- logging.info(f"{len(zeiten)} Richtige in { gebraucht } Sekunden.")
|
|
|
|
|
|
+ logging.info(f"{len(relative_dauer)} Richtige im {mittel_relative_dauer:.2f}-fachen der Zeit.")
|
|
|
|
|
|
- if len(zeiten) >= anzahl_aufgaben and sum(zeiten) <= zeit_zur_verfuegung:
|
|
|
|
|
|
+ if len(relative_dauer) >= anzahl_aufgaben and mittel_relative_dauer <= 1:
|
|
print(
|
|
print(
|
|
- f"\n\nJUHU! Für die letzten { anzahl_aufgaben } Aufgaben hast du { int(sum(zeiten) + .5) } Sekunden gebraucht!\n"
|
|
|
|
|
|
+ f"\n\nJUHU! Für die letzten {anzahl_aufgaben} Aufgaben hast du {mittel_relative_dauer:.2f}-fache der Zeit gebraucht!\n"
|
|
)
|
|
)
|
|
play_video()
|
|
play_video()
|
|
- zeiten = []
|
|
|
|
|
|
+ relative_dauer = []
|
|
frage_weiter()
|
|
frage_weiter()
|
|
|
|
|
|
|
|
|