2016-06-13 59 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循環。 這意味着它會不斷選擇一個新的隨機播放器並將其彈出到屏幕上。當最後一位玩家完成自己的回合時,你只能選擇一個新的隨機玩家,或者這是遊戲的開始。