3.3.3 Frageoptionen anzeigen
Bei der Anzeige von Frageoptionen gibt es drei Situationen: wenn der Benutzer keine Antwort ausgewählt hat; wenn die Antwort des Benutzers richtig ist; wenn die Antwort des Benutzers falsch ist.
(1) Wenn der Benutzer noch keine Antwort ausgewählt hat
Zu diesem Zeitpunkt werden vier alternative Antworten in Weiß angezeigt, wie in Abbildung 4① dargestellt.
Abbildung 4 Frageoptionen
Der entsprechende Code lautet wie folgt.
print_text(font1, 5, 170, "ANSWERS")
print_text(font2, 20, 210, "1 - " + self.data[self.current+1], self.colors[0])
print_text(font2, 20, 240, "2 - " + self.data[self.current+2], self.colors[1])
print_text(font2, 20, 270, "3 - " + self.data[self.current+3], self.colors[2])
print_text(font2, 20, 300, "4 - " + self.data[self.current+4], self.colors[3])
Unter diesen ist self.current die Anzahl der Zeilen, die dem Inhalt der Frage entsprechen, und die vier Optionen der Frage befinden sich in den Zeilen 1 bis 4 nach dieser Zeile.
(2) Wenn die Antwort des Benutzers richtig ist
Wenn die Antwort des Benutzers richtig ist, wird die Option in grüner Schrift angezeigt und es erscheint eine Eingabeaufforderung in grüner Schrift, wie in Abbildung 5① und Abbildung 5② dargestellt.
Abbildung 5 Wenn die Antwort richtig ist
Implementieren Sie diese Funktion mit dem folgenden Code.
if self.scored:
self.colors = [white,white,white,white]
self.colors[self.correct-1] = green
print_text(font1, 230, 380, "CORRECT!", green)
print_text(font2, 170, 420, "Press Enter For Next Question", green)
Wenn die Bewertung „True“ lautet, bedeutet dies, dass die Antwort richtig ist. Zu diesem Zeitpunkt wird die Farbe des selbstkorrekten Farbelements in Grün geändert. Der Wert der Variablen „correct“ wird durch den folgenden Code ermittelt.
self.correct = int(self.data[self.current+5])
Dabei stellt „aktuell“ die Anzahl der Zeilen des aktuellen Frageinhalts in den Daten dar, die nächsten 4 Zeilen sind die Frageoptionen und die nächsten 5 Zeilen sind die richtigen Antworten, wie in Abbildung 6 dargestellt.
Abbildung 6 Fragenformat
(3) Wenn die Antwort des Benutzers falsch ist
Wenn die Antwort des Benutzers richtig ist, wird die richtige Option in grüner Schrift angezeigt, und die vom Benutzer ausgewählte falsche Option wird in roter Schrift angezeigt. Außerdem wird eine Eingabeaufforderung in roter Schrift angezeigt, wie in Abbildung 7① und Abbildung 7② dargestellt.
Abbildung 7 Wenn die Antwort falsch ist
Implementieren Sie diese Funktion mit dem folgenden Code.
elif self.failed:
self.colors = [white,white,white,white]
self.colors[self.wronganswer-1] = red
self.colors[self.correct-1] = green
print_text(font1, 220, 380, "INCORRECT!", red)
print_text(font2, 170, 420, "Press Enter For Next Question", red)
Wenn „failed“ „True“ ist, bedeutet dies, dass die Antwort falsch ist, „falscheranser“ bedeutet die falsche Antwort und „richtig“ bedeutet die richtige Antwort.