Pygame schleife

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Micky2010
User
Beiträge: 34
Registriert: Donnerstag 19. Mai 2011, 17:06
Wohnort: Hessen

Hallo liebe Pythoner,
Ich habe hier einen Code :

Code: Alles auswählen

import easygui, pygame

pygame.init()
pygame.mixer.init()
pygame.mixer.music.load("Serround_Hall.wav")
reply = ""
while reply != 0 and reply != 1:
    reply = easygui.ynbox(msg='Fortfahren, roten Alarm zu aktivieren?', title='Roten Alarm einleiten', choices=('Ja', 'Nein'))
if reply == 1:
     print('Roter Alarm wird aktiviert')
pygame.mixer.music.play(-10)
if reply == 0:
     print('Aktivierung von rotem Alarm abgebrochen')
(Bitte fragt nicht wofür das ist, es ist eine Zeitvertreibung)

Ich will wenn reply == 1 und nachdem geschrieben wurde roter alarm ist aktiviert und während der Musik eine while machen die solange wartet auf einen Druck der Taste escape und bei Druck der Taste escape die Musik anhält und 1 Sekunde wartet und dann zum Anfang des Programms hochspringt.
So hätte ich mir das Vorgestellt:

Code: Alles auswählen

x = True
while x == True and x != False
for event in pygame.event.get()
    if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_ESCAPE
pygame.mixer.music.stop
x = False
(und jetzt die Methode um nach oben zu springen)

könnt ihr sagen ob das so funktionieren würde?

Viele Grüße Micky2010 :D :D :D :D
Zuletzt geändert von Micky2010 am Sonntag 5. Juni 2011, 10:44, insgesamt 3-mal geändert.
Errare humanum est, in errore perseverare stultum (Irren ist menschlich, im Irrtum verbleiben ist dumm)
Manus manum lavat (Eine Hand wäscht die andere)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Jetzt packst Du das erst einmal bitte in Python-Code-Tags, damit die Einrückungen nicht verloren gehen. Danach kann man weiter schauen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Micky2010
User
Beiträge: 34
Registriert: Donnerstag 19. Mai 2011, 17:06
Wohnort: Hessen

So besser?
Errare humanum est, in errore perseverare stultum (Irren ist menschlich, im Irrtum verbleiben ist dumm)
Manus manum lavat (Eine Hand wäscht die andere)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

Micky2010 hat geschrieben:So besser?
Nur bedingt. Du hast ja mehrere Code-Blöcke; wieso benutzt Du also nur einmal die Code-Umgebung und schließt so den Prosateil mit ein? Zudem stimmen die Einrückungen so ja auch nicht wirklich; Standard sind 4 Leerzeichen. Unten fehlen sie sogar ganz.

Du solltest ja wissen, dass Einrückungen ein wichtiger Bestandteil von Python sind; ohne diese ist Code schwer bis gar nicht mehr zu lesen.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
Micky2010
User
Beiträge: 34
Registriert: Donnerstag 19. Mai 2011, 17:06
Wohnort: Hessen

So besser?
Errare humanum est, in errore perseverare stultum (Irren ist menschlich, im Irrtum verbleiben ist dumm)
Manus manum lavat (Eine Hand wäscht die andere)
Newcomer
User
Beiträge: 131
Registriert: Sonntag 15. Mai 2011, 20:41

Hi,
Soweit ich das jetzt verstanden hab willst du irgendwie nach oben springen, also zum programm anfang. Ich würd deshalb den Teil den du wieder brauchst in eine Funktion packen und sie dann in der while schleife wieder aufrufen. Das wärs dann. (Wenn ich dich falsch verstanden hab net böse sein [oder wenn die antwort so sinnlos ist])
Newcomer
Antworten