我想創建一個遊戲,其中有2個計數器,a和b,並且遊戲繼續,而a不等於2(最初爲0),b不等於5(最初爲3),並且b會增加每次公主都會觸摸窗戶上的某個點。我無法保留a和b的值。我正在基於TKinter構建的Zelle的第二版圖形框架構建這款遊戲。我的b似乎永遠不會超過4,並且總是重置爲3,而不是達到5來停止while循環。Python:while循環,如何保持counter?
相關的代碼如下(我的形象的公主是自己的構造和方法舉措一類),該代碼處理B:
.... (irrelevant class informtion) ...
# I did not pass b into the __init__
# I only passed it into the move method, is that fine?
def move(self, mouse, b):
dX = 0
if mouse.getY() > 300:
dY = 2
else:
dY = -2
self.img.move(dX, dY)
if self.img.getAnchor().getY() == 350:
newB = b + 1
return newB
else:
return b
.....(無關代碼) ...
while a != 2 or b!= 5:
mouse = win.getMouse()
b = 3
princess.move(mouse, b)
newB = princess.move(mouse, b)
continue
b總是會重置爲3,因爲您在while循環的每次迭代開始時將其設置爲3,並且從不在任何地方更改它。 – martineau