Python while?
Hallo meine Frage wäre ob es einen Befehl gibt mit dem man aus der Schleife ausbrechen kann(break) und sie wieder von vorne zu starten(für pygame).
3 Antworten
mit dem man aus der Schleife ausbrechen kann(break) und sie wieder von vorne zu starten
Mach eine weitere Schleife drum rum. Dadurch wird die innere Schleife erneut ausgeführt, also "von vorne gestartet" sobald aus der Schleife ausgebrochen wurde.
while True:
while True:
print("Dein Code hier")
if ...:
break
Oder willst du die Schleife gezielt, also z.B. auf Knopfdruck, neu-starten?
Dann pack sie in eine Funktion und ruf die Funktion auf wann immer du willst:
def main_loop():
if gamestate == "running":
return # Nicht neu starten wenn die Schleife bereits läuft
gamestate = running
while True:
print("Dein Code hier")
if pausePressed:
gamestate = "paused"
break
main_loop()
Ja, es gibt in Python den Befehl
break
, mit dem man aus einer Schleife ausbrechen kann. Wenn Sie in Pygame möchten, dass die Schleife von vorne beginnt, können Sie stattdessen den Befehl
continue
verwenden. Hier ist ein Beispiel:
# Beispiel für die Verwendung von break und continue in einer Schleife # Wir beginnen damit, eine Liste mit Zahlen zu erstellen numbers = [1, 2, 3, 4, 5] # Wir iterieren über die Liste und drucke jedes Element aus for number in numbers: # Wenn das aktuelle Element die Zahl 3 ist, brechen wir aus der Schleife aus if number == 3: break # Wenn das aktuelle Element die Zahl 2 ist, springen wir zum nächsten Element # und fahren mit der Schleife fort if number == 2: continue # Wenn das aktuelle Element weder die Zahl 2 noch die Zahl 3 ist, drucke es aus print(number) # Das Ergebnis wird sein: 1, 4, 5
verlassne kannst du die Schleife mit einem break:
https://www.w3schools.com/python/python_while_loops.asp
Ist das while dein Game-Loop? Warum solltest du sie dann wieder starten wollen? Das macht für mich nicht so viel Sinn...
Das Menü würde ich als Teil des Game-Loops machen, glaube ich
Ja ist meine Game-Loop aber ich will aus dem Game in Menü zurück gehen und dann wieder in das eigentliche Spiel und das geht dann nicht mehr deswegen sollte ich die Schleife reseten.