【发布时间】:2020-01-12 16:03:40
【问题描述】:
我正在进行一项大型学校项目的最后一部分。我正在创建一个西蒙游戏,您必须记住颜色并按正确的顺序单击它们。
在我的方块动画闪烁后,我将 'usergottaclick' 设置为 true。
if other == True:
#And if event = Mousebuttondown
if usergottaclick == False:
if mousex >= 50 and mousex <= 150 and mousey >= 110 and mousey <= 160:
randomnum = random.randint(1,4)
addtosimons()
for i in range (0, roundnum):
if simonslist[i] == 1:
#Flashes red square
if simonslist[i] == 2:
#Flashes blue square
if simonslist[i] == 3:
#Flashes green square
if simonslist[i] == 4:
#Flashes yellow square
addroundnum()
usergottaclick = True
这是我的代码,当用户转向点击方块时:
def usersturn():
#This code is under if event = pygame.MOUSEBUTTONDOWN
global usergottaclick
if usergottaclick == True:
playerchoicelist = []
for i in range (0, roundnum -1 ):
if mousex >=200 and mousex <= 600 and mousey >= 0 and mousey <= 375:
clicknum = 1
playerchoicelist.append(clicknum)
pygame.draw.rect(screen, REDLIGHT, [200, 0, 400, 375])
pygame.display.update()
pygame.time.delay(500)
if playerchoicelist[i] != simonslist[i]:
print("Wrong")
changeusergottaclick()
subtractroundnum()
if mousex >=600 and mousex <= 1000 and mousey >= 0 and mousey <= 375:
clicknum = 2
playerchoicelist.append(clicknum)
pygame.draw.rect(screen, BLUELIGHT, [600, 0, 400, 375])
pygame.display.update()
pygame.time.delay(500)
if playerchoicelist[i] != simonslist[i]:
print("Wrong")
changeusergottaclick()
subtractroundnum()
if mousex >=200 and mousex <= 600 and mousey >= 375 and mousey <= 750:
clicknum = 3
playerchoicelist.append(clicknum)
pygame.draw.rect(screen, GREENLIGHT, [200, 375, 400, 375])
pygame.display.update()
pygame.time.delay(500)
if playerchoicelist[i] != simonslist[i]:
print("Wrong")
changeusergottaclick()
subtractroundnum()
if mousex >=600 and mousex <= 1000 and mousey >= 375 and mousey <= 750:
clicknum = 4
playerchoicelist.append(clicknum)
pygame.draw.rect(screen, YELLOWLIGHT, [600, 375, 400, 375])
pygame.display.update()
pygame.time.delay(500)
if playerchoicelist[i] != simonslist[i]:
print("Wrong")
changeusergottaclick()
subtractroundnum()
else:
changeusergottaclick()
您需要关注的是用户点击的方块被添加到玩家选择列表中。
但是当我运行它时,它的行为就好像 event 总是 pygame.mousebuttondown ,并且只是在循环允许的范围内单击正方形(与 roundnum 设置的一样多)。
我怎样才能让他们一次只能点击一个方块,然后必须再次点击才能点击另一个?
非常感谢帮助的人,这是为了我的标记。
【问题讨论】: