0
我目前正在寫一個函數作爲函數賦值的一部分。我正在使用python 2.7.5和pygame。我們應該編寫一個繪製光照的遞歸函數。我目前對我的代碼有錯誤,但我不知道它是什麼。這裏是我的代碼:閃電函數Python
from math import *
from pygame import *
from random import *
screen=display.set_mode((800,600))
def lightning(screen,x,y,size,ang):
if size > 5:
rang = radians(ang)
x2 = x-size*cos(rang)
y2 = y+size*sin(rang)
draw.line(screen,(200,180,0),(x,y),(x2,y2))
lightning(screen,x2,y2,size-randint(1,10),ang-randint(-20,10))
lightning(screen,x2,y2,size-randint(1,10),ang+randint(-10,30))
lightning(screen,400,0,100,randint(60,100))
running=True
while running:
for evt in event.get():
if evt.type==QUIT:
runnning=False
screen.fill((0,0,0))
lightning(screen,400,0,100,randint(60,100))
time.wait(500)
display.flip()
quit()
目前,當我嘗試添加閃電的另一條線(「閃電(...)」),它不會顯示在外殼的任何錯誤,也沒有顯示任何內容pygame窗口。當我只有一條線路時,閃電功能正常。我只想知道我的錯誤在哪裏以及導致錯誤的原因。任何幫助表示讚賞。謝謝。
也許是因爲你從來沒有真正退出的功能?它只是循環和循環。 – aIKid
請根據PEP-8格式化您的Python代碼。 –
我建議在'lightning()'裏面加入'print'語句,看它在運行時打印什麼。如果在運行時看不到輸出,請將打印的語句寫入日誌文件,然後在運行後查看它。 – steveha