Code anpassen nach folgenden Kriterien (siehe unten)?
Hallo zusammen.
- Die brige 1 und 2 , 3 und 4, 5 und 6, 7 und 8 sollen jeweils gleichzeitig laufen.
- Die bridge 1 und 2, 3 und 4 sollen nur einmal angezeigt werden, danach sollen sich die bridge 5 und 6 sowie bridge 7 und 8 dauernd wiederholen. :)
Kann mir jemand dabei helfen, wie ich dies im Code anpassen muss?
Der Codeabschnitt:
def movebridge():
bridge1.x = bridge1.x - 5
bridge2.x = bridge2.x - 5
bridge3.x = bridge3.x - 5
bridge4.x = bridge4.x - 5
bridge5.x = bridge5.x - 5
bridge6.x = bridge6.x - 5
bridge7.x = bridge7.x - 5
bridge8.x = bridge8.x - 5
if bridge1.right < 0 and bridge2.right < 0 and bridge3.right < 0 and bridge4.right < 0:
bridge1.x = bridge1.x - WIDTH
bridge2.x = bridge2.x - WIDTH
bridge3.x = bridge3.x - WIDTH
bridge4.x = bridge3.x - WIDTH
if bridge5.right < 0:
bridge5.left = bridge6.right
if bridge6.right < 0:
bridge6.left = bridge7.right
if bridge7.right < 0:
bridge7.left = bridge8.right
if bridge8.right < 0:
bridge8.left = bridge5.right
Warum diese seltsame Variablenbenennung? Wäre eine passende Matrix nicht zielführender?
ich möchte eben das die figur dazwischen läuft, dies geht nicht anders!
1 Antwort
Hallo,
ich habe einen mögliche Lösung, welche dein Probleme beheben sollte.
Mit freundlichen Grüßen,
Jannis
# Flags um zu überprüfen, ob Brücken 1 und 2 sowie 3 und 4 bereits vom Bildschirm verschwunden sind
bruecke1_und_2_fertig = False
bruecke3_und_4_fertig = False
def movebridge():
global bruecke1_und_2_fertig, bruecke3_und_4_fertig
# Bewege alle Brücken nach links
bridge1.x -= 5
bridge2.x -= 5
bridge3.x -= 5
bridge4.x -= 5
bridge5.x -= 5
bridge6.x -= 5
bridge7.x -= 5
bridge8.x -= 5
# Überprüfen, ob Brücken 1 und 2 komplett vom Bildschirm verschwunden sind
if not bruecke1_und_2_fertig and bridge1.right < 0 and bridge2.right < 0:
bruecke1_und_2_fertig = True # Markieren, dass Brücke 1 und 2 nicht mehr bewegt werden sollen
# Überprüfen, ob Brücken 3 und 4 komplett vom Bildschirm verschwunden sind
if not bruecke3_und_4_fertig and bridge3.right < 0 and bridge4.right < 0:
bruecke3_und_4_fertig = True # Markieren, dass Brücke 3 und 4 nicht mehr bewegt werden sollen
# Positionen der Brücken 5, 6, 7 und 8 zurücksetzen, um eine Schleife zu erstellen
if bridge5.right < 0:
bridge5.left = bridge8.right
if bridge6.right < 0:
bridge6.left = bridge5.right
if bridge7.right < 0:
bridge7.left = bridge6.right
if bridge8.right < 0:
bridge8.left = bridge7.right
# Positionen der Brücken 1 und 2 nur aktualisieren, wenn sie nicht als fertig markiert wurden
if not bruecke1_und_2_fertig:
bridge1.x -= 5
bridge2.x -= 5
# Positionen der Brücken 3 und 4 nur aktualisieren, wenn sie nicht als fertig markiert wurden
if not bruecke3_und_4_fertig:
bridge3.x -= 5
bridge4.x -= 5
Woher ich das weiß:Berufserfahrung