【问题标题】:Random Module help in pythonpython中的随机模块帮助
【发布时间】:2016-10-13 09:49:04
【问题描述】:

所以这里我有我的代码来连接 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()

【问题讨论】:

  • 你的 break 语句在哪里打破 while 循环?或者,将 if-else 放在 if 语句中,以测试 Turn 是否定义为 Player1Player2

标签: python-3.x random pygame


【解决方案1】:

您已在While True 循环中输入随机选择播放器的代码。 这意味着它将不断选择一个新的随机播放器并将其传送到屏幕上。您只能在最后一名玩家完成回合或游戏开始时随机选择一名新玩家。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-02
    • 2015-02-16
    • 1970-01-01
    • 2020-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多