discord_programmieraufgaben/2025-10-17_2/task.md (view raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# Quiz Wie der Name schon sagt, programmieren wir diesmal eine Quizshow. Es geht vor allem darum zu lernen mit Arrays umzugehen und auch einen Schritt weit Zufall zu nutzen. ## Level 1: erstellen von 10 Fragen und deren Antworten User-Input der Antworten Auswerten der Inputs Score System implementieren (achtet hier auch auf die Reale Umsetzbarkeit - also wie würde sich das Scoresystem in einer echten Quizshow auswirken?) ## Level 2: die Fragen in Zufälliger Reihenfolge Ausgeben lassen https://www.w3schools.com/python/ref_random_randint.asp Die Antworten in Zufälliger Reihenfolge ausgeben lassen Achtet darauf, dass keine Frage doppelt kommt, so dass das Quiz auch endet! https://www.w3schools.com/python/python_lists.asp Achtet darauf, dass keine Antwortmöglichkeit doppelt gelistet wird ## Level 3: Lagert das Programm in ein Externes Fenster aus https://www.w3schools.com/Python/ref_module_tkinter.asp ## Level 4 Erstellt eine Graphische Oberfläche mit Textboxen, die der Nutzer ansteuern kann (Key-Input oder Maus ist egal) ladet ein Hintergrundbild in euer Fenster ## Level 5 Erstellt einen Startbildschirm/Menü ## Level 6: Implementiert ein Score-Board https://www.geeksforgeeks.org/python/introduction-to-python-tabulate-library/ Macht das Score-Board über das Menü einsehbar Bewertet die Runs nach Punktzahl Ordnet die Scores bestimmten Namen zu (vielleicht einem Nutzernamen, den ihr über Input erhaltet + versuchszahl?) Speichert das Score-board https://www.w3schools.com/python/python_file_write.asp https://www.w3schools.com/python/python_file_open.asp ## Level 7: Bewertet zusätzlich die Abschlusszeiten https://www.w3schools.com/Python/ref_module_time.asp (würde hier einen festen Wert ausgeben, wie oft pro Zeit eine Variable erhöht werden soll. Das nennt sich in einem Spiel übrigens FPS 😉 - ein anderer Ansatz ist die Anfangszeit und die endzeit zu spiechern und die Differenz zu ziehen) |