diff --git a/.gitignore b/.gitignore index f289448..06cd2da 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ quiz/__pycache__ +quiz/quiz copy.py diff --git a/quiz/quiz.py b/quiz/quiz.py index 48a2e9e..bd15dc4 100644 --- a/quiz/quiz.py +++ b/quiz/quiz.py @@ -6,21 +6,21 @@ import random app = Flask(__name__) def load_database(): - file = os.path.join(os.path.expanduser("~"), "Austausch", "fragen1.csv") + file = os.path.join(os.path.expanduser("~"), "Robotik-Ablage", "fragen2.csv") #with open(file, newline="", encoding="utf-8") as csvfile: # with open(file, newline="", encoding="cp1252") as csvfile: # Code wird als Excel Windows-1252 Input CSV gelesen - database = csv.reader(csvfile, delimiter=";") # Validating the "csvfile" into "database" with the delimiter "," (Comma Seperated Values) - + database = csv.reader(csvfile, delimiter=";") q_a = [] # Empty list for all questions and answers - for row in database: # alle Zeilen in der Datenbank durchlaufen index = int(row[0]) # Laufende Nummer question = str(row[1]) # Frage (ist der erste Teil) answer = str(row[2]) # Antwort (3. Spalte in der CSV Datenbank) q_a.append({"index": index,"question": question, "answer": answer}) # Eine Liste bauen - return q_a + +def FahreMotor(): + return True fragen_liste = load_database() random.shuffle(fragen_liste) @@ -29,23 +29,29 @@ current_index = 0 correct_sum = 0 last_correct = None max_correct_sum = 5 - debugtxt="" +alerttxt="" +successtxt="" +won=False @app.route('/') def quiz(): - return render_template('quiz.html', frage=fragen_liste[current_index], last_correct=last_correct,debugtxt=debugtxt, correct_sum=correct_sum, - max_correct_sum = max_correct_sum) + max_correct_sum = max_correct_sum, + alerttxt=alerttxt, successtxt=successtxt, + won=won) @app.route('/submit_quiz', methods=['POST']) def submit_quiz(): global current_index global fragen_liste - global debugtxt + global debugtxt, alerttxt, successtxt global correct_sum + global won + + won=False # Überprüfen Sie die Antwort und aktualisieren Sie current_index user_answer = request.form.get('answer') @@ -54,15 +60,19 @@ def submit_quiz(): if user_answer == correct_answer: last_correct = True correct_sum += 1 - debugtxt = correct_answer + " ist richtig! passt zu deiner Angabe: " + user_answer +# debugtxt = correct_answer + " ist richtig! passt zu deiner Angabe: " + user_answer + successtxt = correct_answer + " ist richtig! passt zu deiner Angabe: " + user_answer + alerttxt = "" elif user_answer == "42": - correct_sum += 1 - debugtxt = "Korrekt! Die Antwort auf alle Fragen ist 42." + # EASTEREGG!!! # + last_correct = True + correct_sum = 5 + successtxt = "Korrekt! Die Antwort auf alle Fragen ist 42." + alerttxt = "" else: last_correct = False -# debugtxt += "\n" -# debugtxt += "\n" - debugtxt = "falsch: Richtig wäre " +correct_answer + " / und nicht: " + user_answer + alerttxt = "falsch: Richtig wäre " +correct_answer + " / und nicht: " + user_answer + successtxt = "" correct_sum = 0 current_index += 1 @@ -77,9 +87,10 @@ def submit_quiz(): fragen_liste = load_database() random.shuffle(fragen_liste) current_index=0 - debugtxt += "\nGewonnen! - Gut gemacht!" - print ("gewonnen! - Fahre 10 Sek!") + successtxt += "


Gewonnen! - Gut gemacht!
Guten Appetit!" +# print ("gewonnen! - Fahre 10 Sek!") + FahreMotor correct_sum =0 + won = True - # Leiten Sie den Benutzer zur nächsten Frage weiter return redirect('/') diff --git a/quiz/static/pics/cake.jpg b/quiz/static/pics/cake.jpg new file mode 100644 index 0000000..87a73bc Binary files /dev/null and b/quiz/static/pics/cake.jpg differ diff --git a/quiz/templates/quiz.html b/quiz/templates/quiz.html index d1bc6de..84e591d 100644 --- a/quiz/templates/quiz.html +++ b/quiz/templates/quiz.html @@ -73,18 +73,26 @@ } button { - background-color: rgb(106, 90, 205); - color: rgb(255, 255, 255); + background-color: rgb(102, 51, 153); + /* Dunkel-lila Hintergrund */ + color: white; + /* Weiße Schriftfarbe */ padding: 10px; border: none; border-radius: 4px; cursor: pointer; width: 100%; - transition: background-color 0.3s ease-in-out; + transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out; + box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.1); + /* Leicht erhabener Effekt */ } + /* Aktualisierte Stilregel für den Button im Hover-Zustand */ button:hover { background-color: rgb(72, 61, 139); + /* Dunkleres Lila im Hover-Zustand */ + box-shadow: 0px 6px 8px rgba(0, 0, 0, 0.2); + /* Stärkerer erhabener Effekt im Hover-Zustand */ } p { @@ -103,6 +111,36 @@ color: rgb(106, 90, 205); text-decoration: underline; } + + .alert-message { + padding: 10px; + border-radius: 5px; + font-weight: bold; + text-align: center; + } + + .alert-success { + background-color: lightgreen; + color: green; + } + + .alert-danger { + background-color: lightcoral; + color: red; + } + + .image-container { + max-height: 50pt; + overflow: hidden; + text-align: center; + /* Zentriert das Bild horizontal */ + } + + .image-container img { + max-height: 50pt; + /* max-width: 100%; */ + /* height: auto; */ + } @@ -110,13 +148,31 @@

{{ frage.index }}. {{ frage.question }}

- - + +

{{correct_sum}} von {{max_correct_sum}} nacheinander korrekt.


{% if debugtxt %}

{{debugtxt}}

{% endif %} + {% if alerttxt %} +
+ {{alerttxt}} +
+ {% endif %} + {% if successtxt %} +
+ {{successtxt | safe}} +
+ {% endif %} + {% if won %} +
+
+
+ Suessigkeit +
+ {% endif %} +