Analyse des Quizspiels in Pygame 6-4

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.

Guess you like

Origin blog.csdn.net/hou09tian/article/details/132640736