Funktion nicht aufgerufen

Ich habe eine Funktion, die die Partitur überprüft und wird (ich habe noch nicht beendet) erhöht das Level, wenn die Partitur die gegebene Punktzahl erreicht, meine Funktion:

def levels(Score): if score >= 100: enemies = 6 velocity = 2 

Und ich rufe es in der Spielschleife an:

 levels(score) 

Die Funktion wird nie ausgeführt, mein Quellcode http://pastebin.com/JPZSTA6a Zeile: 35-38 und 150

Vielen Dank

4 Solutions collect form web for “Funktion nicht aufgerufen”

Die Funktion wird aufgerufen, aber du ordnet den enemies und der velocity in der Funktion zu, also sind sie lokal für die Funktion und werden dann verworfen, wenn die Funktion zurückkehrt. Also ist deine Funktion aufgerufen, hat aber keine dauerhafte Wirkung.

Sie müssen über Einheimische und Globals in Python lesen. Wie andere darauf hinweisen, haben Sie auch Score und score hier. Python ist Groß-und Kleinschreibung, das sind verschiedene Namen.

Sie haben, if score >= 100 wenn Sie wahrscheinlich gemeint haben, if Score >= 100 . Die Funktion wird ausgeführt, es ist nur so, dass die if-Anweisung immer falsch ausgewertet wird.

Es ist ein Scoping-Problem, die Variablen, die Sie beziehen (Feinde und Geschwindigkeit), um weiter unten innerhalb einer while-Schleife erstellt werden, so dass sie nicht in Umfang in der Funktion, wo Sie versuchen, sie zu ändern sind. Du musst auf dem Ausführungsmodell lesen, es soll in der Lage sein, die Scoping-Regeln zu klären.

Dein Code, paraphrasiert:

 def game(): def levels(Score): print 'levels!' while start == True: print 'start is indeed True!' while not finish or falling: 'I am not Finnish' for i in range(enemies): 'alas for I am beset by enemies!' levels(score) 

Also, warum wird kein Level () genannt? Ich nehme an, einer von diesen vielen Kontroll-Flow-Artikel geht nicht so, wie du willst. Ich kann nicht zum Beispiel sagen, ob deine Feinde Variable leer ist, aber ich kann dir sagen, dass Druck dein Freund ist.

  • Wie füge ich ein Hintergrundbild in pygame?
  • Warum fällt das Pygame-Fenster nicht richtig?
  • Nicht in der Lage, das Bild in Pygame zu verschieben
  • Pygame ist korrekt installiert aber wird nicht in Python 2.7 Datei importieren
  • Pygame auf Mac-Fehler mit Lade-Bilder
  • Python 2.7 wirft ValueError: list.remove (x): x nicht in der Liste
  • Numpad funktioniert nicht in pygame
  • Pygame erkennt nur Mausereignisse, erkennt keine KEYDOWN-Ereignisse
  • Pygame funktioniert nicht mit Steckdosen
  • Pygame: Mausspezifische Achserkennung
  • Pygame Hold Key Down verursacht eine Endlosschleife [Duplizieren]
  • Python ist die beste Programmiersprache der Welt.