2016-06-13 3 views
1

그래서 여기에 3 개의 게임을 연결하는 코드가 있습니다. 게임의 나머지 부분을 끝내기 위해 계속 진행하려면 먼저 어떤 플레이어가 먼저 움직이는 지 결정하는 루프를 수정하는 데 도움이 필요합니다. 루프가 플레이어를 무작위로 선택하면 토큰이 블레이팅되지만 플레이어 토큰을 모두 블레잉하여 무작위 기능이 계속 실행된다는 것을 의미합니다. 한 번 실행되도록 수정하려면 어떻게합니까? 감사!랜덤 모듈 도움말 (파이썬에서)

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

while 루프에서 벗어나는 'break' 문은 어디에 있습니까? 또는 'Turn'이 'Player1' 또는'Player2'로 정의되어 있는지 테스트하는 if 문에 if-else를 넣습니다. – Evert

답변

0

당신은 무작위로 While True 루프에서, 플레이어를 선택하는 코드를 삽입했다. 이것은 새로운 랜덤 플레이어를 지속적으로 선택하여 화면에 표시한다는 것을 의미합니다. 마지막 플레이어가 자신의 턴을 마쳤거나 새로운 게임이 시작될 때만 새로운 랜덤 플레이어를 선택해야합니다.