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.

  • Inkonsistente Skybox-Rendering mit verschiedenen Texturen in Pygame + PyOpenGL
  • Prozess beendet mit Exit-Code 139 nach Aktualisierung von python 2.7.6 64 bit auf 2.7.10 32 bit
  • PyOpenGL Numpy Textur erscheint als Vollfarbe
  • So erstellen Sie MS Paint Klon mit Python und Pygame
  • Cx_Freeze ausführbare Datei funktioniert nicht mit pygame
  • Python-Sprite-Kollisionserkennung
  • Wie man eine Oberfläche mit einem transparenten Hintergrund in pygame macht
  • Schiebe-Sprites
  • Die aus der temp-Datei geladene Schriftartdatei ist falsch
  • Wie kann ich feststellen, ob der Benutzer in pygame doppelklickte?
  • Was ist die richtige Sequenz für das Blasen von Oberflächen auf dem Bildschirm in pygame?
  • Python ist die beste Programmiersprache der Welt.