Nachdem der Spieler geantwortet hat, soll die Antwort natürlich ausgewertet werden. Wenn die Antwort richtig ist,
soll der Score des Spielers hoch gesetzt werden, wenn die Antwort falsch ist, soll das Spiel beendet werden,
der Score des Spielers soll ggf. in der Liste der Highscores gespeichert werden und der Spieler soll natürlich
auch benachrichtigt werden, falls sein Score im Highscore gelandet ist. Falls die Behauptung nicht stimmt,
soll außerdem die Behauptung so angezeigt werden, wie sie korrekt ist (also die Behauptung ist zum Beispiel
"Madrid ist die Hauptstadt von Frankreich" - dann soll "Madrid ist die Hauptstadt von Spanien" angezeigt werden).
Meine Frage ist: Wie kann ich die Auswertung der Antwort hinsichtlich des UI sinnvoll umsetzen? Kann man den gleichen Screen
benutzen (z. B. indem man ein neues Layout mit neuen Grafikelementen lädt (Geht das?)), kann man einen neuen Screen benutzen
(Wie "übergebe" ich den Score, die Behauptung und die Antwort des Nutzers vom alten zum neuen Screen?) oder kann man ein
"Popup"-Fenster nutzen (auch hier die Fragen: Wie "übergebe" ich den Score, die Behauptung und die Antwort des Nutzers vom
Screen zum Popup-Fenster?). Ich hoffe, mein Problem ist verständlich. Bin dankbar für alle Antworten!
Hier mein Code:
Buttons, die der Spieler nutzt, um zu antworten; aus der kv-Datei:
Code: Alles auswählen
Button:
text: "Ja"
font_name: "fonts/GloriaHallelujah-Regular.ttf"
font_size: "25dp"
background_normal: ''
background_color: 0, 0, 0, 0
color: .63, .63, 0, 1
on_press: root.antwort_pruefen(True)
size_hint: 1, 1
Button:
text: "Nein"
font_name: "fonts/GloriaHallelujah-Regular.ttf"
font_size: "25dp"
background_normal: ''
background_color: 0, 0, 0, 0
color: .63, .63, 0, 1
on_press: root.antwort_pruefen(False)
size_hint: 1, 1
Code: Alles auswählen
class Quiz(Screen):
score = StringProperty("0")
frage_und_richtige_behauptung = frageErmitteln()
frage = StringProperty(frage_und_richtige_behauptung[0])
korrekte_behauptung = StringProperty(frage_und_richtige_behauptung[1])
def antwort_pruefen(self, antwort):
if antwort == True and self.korrekte_behauptung == "" or antwort == False and self.korrekte_behauptung != "":
self.score = str(int(self.score) + 1000)
self.frage_und_richtige_behauptung = frageErmitteln()
self.frage = self.frage_und_richtige_behauptung[0]
self.korrekte_behauptung = self.frage_und_richtige_behauptung[1]