Ich hab ein Quiz gemacht, bei dem man durch richtiges beantworten der Fragen einen Rang aufsteigen kann.
Das mit den Rängen hab ich so gelöst:
Code: Alles auswählen
if self.score<100:
self.ui.rang.setText("Spieler: "+str(self.spielername)+" Rang: Amateur")
if self.score >200:
self.rankup()
self.ui.rang.setText("Spieler: "+str(self.spielername)+" Rang: Wannabe")
if self.score>450:
self.rankup()
self.ui.rang.setText("Spieler: "+str(self.spielername)+" Rang: Wissenshungriger")
if self.score>750:
self.rankup()
self.ui.rang.setText("Spieler: "+str(self.spielername)+" Rang: Lehrer")
if self.score>950:
self.rankup()
self.ui.rang.setText("Spieler: "+str(self.spielername)+" Rang: Erhabener")
if self.score>1200:
self.rankup()
self.ui.rang.setText("Spieler: "+str(self.spielername)+" Rang: Fast Allwissender")
if self.score>=1500:
self.rankup()
self.ui.rang.setText("Spieler: "+str(self.spielername)+" Rang: Dalai Lama")
Nun möchte ich bei jedem Rankup einen Sound wiedergeben, weswegen ich in jeder if Schleife self.rankup() aufrufe, die für die Soundwiedergabe zuständig ist.
Leider musste ich feststellen, dass sobald 200 Punkte erreicht sind, bei jeder zusätzlichen richtigen Frage der Sound abgespielt wird, weil ja die Bedingung immer noch erfüllt ist.
Wie könnte ich das lösen?
Eine eindeutige Bedingung mit = kommt nicht in Frage, da man für falsch beantwortete Fragen 5 Punkte abgezogen bekommt und für jede richtige 10 Punkte dazubekommt, wodurch sich auch ungerade Zahlen ergeben.
MfG