2016-06-13 61 views
1

所以在这里我有我的代码来连接3游戏。为了让我继续完成对游戏其余部分的编码,我需要您的帮助来修复确定哪个玩家先行的循环。当循环随机选择玩家时,它将它的符号抹掉,但是它会让玩家的两个令牌都闪烁,这意味着随机函数会继续运行。我如何解决它,所以它运行一次。谢谢!python中的随机模块帮助

import pygame, sys, random 
from pygame.locals import* 

#FPS 
FPS =7 
fpsClock = pygame.time.Clock() 

#Display 
DISPLAYSURF=pygame.display.set_mode((850, 725), 0, 32) 
pygame.display.set_caption('Connect 3~Emoji Edition') 


#Colors 
WHITE=(255, 255, 255) 

#Players 
Player1='P1' 
Player2='P2' 


#Images 

#Keyboard 
Board=pygame.image.load('Keyboard.png') 
Boardx=45 
Boardy=200 


#Token1 
Token1=pygame.image.load('PoopEMJ.png') 
Token1=pygame.transform.scale(Token1, (90, 90)) 
Token1x=375 
Token1y=215 


#Token2 
Token2=pygame.image.load('LaughingEMJ.png') 
Token2=pygame.transform.scale(Token2, (90, 90)) 
Token2x=375 
Token2y=215 


while True: 
    DISPLAYSURF.fill(WHITE) 
    DISPLAYSURF.blit(Board,(Boardx, Boardy)) 


#Randomly selects players *HELP* 
    Turn='Player' 
    if random.randint(0, 1) == 0: 
     Turn = Player1 
     DISPLAYSURF.blit(Token1,(Token1x, Token1y)) 

    else: 
     Turn = Player2 
     DISPLAYSURF.blit(Token2,(Token2x, Token2y)) 


    for event in pygame.event.get(): 
     if event.type==QUIT: 
      pygame.quit() 
      sys.exit() 
    pygame.display.update() 
+0

你的'break'语句在哪里摆脱while循环?或者,将if-else放在if语句中,以测试“Turn”被定义为“Player1”还是“Player2”。 – Evert

回答

0

你已经把代码随机选择播放器,在While True循环。 这意味着它会不断选择一个新的随机播放器并将其弹出到屏幕上。当最后一位玩家完成自己的回合时,你只能选择一个新的随机玩家,或者这是游戏的开始。