Python 随机模块';randrange不在pygame中工作
我正在尝试在pygame中制作一个游戏,并希望在任意位置添加苹果,但随机模块不起作用。我试着在网上找,但是那里的那个人能够毫无问题地使用这个 我的代码和输出在下方Python 随机模块';randrange不在pygame中工作,python,random,pygame,Python,Random,Pygame,我正在尝试在pygame中制作一个游戏,并希望在任意位置添加苹果,但随机模块不起作用。我试着在网上找,但是那里的那个人能够毫无问题地使用这个 我的代码和输出在下方 impoort pygame imporrt random pygame.init() display_width = 1000 display_height = 500 gameDisplay = pygame.display.set_mode((display_width,display_height)) pygame.di
impoort pygame
imporrt random
pygame.init()
display_width = 1000
display_height = 500
gameDisplay = pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption("SlikiSnake")
clock = pygame.time.Clock()
FPS = 15
block_size = 10
def GameLoop():
lead_x = display_width/2
lead_y = display_height/2
lead_x_change =0
lead_y_change =0
randAppleX = random.randint(0, display_width - block_size)
randAppleY = random.randint(0 ,display_height - block_size)
pygame.display.update()
gameExit = False
gameOver = False
while not gameExit:
while gameOver == True:
gameDisplay.fill(white)
message_on_screen("Game Over,press r to start again or Q to quit", black)
pygame.display.update()
for event in pygame.event.get():
if event.type ==pygame.KEYDOWN:
if event.key == pygame.K_r:
GameLoop()
if event.key == pygame.K_q:
gameExit = True
gameOver = False
if lead_x >= display_width or lead_x < 0 or lead_y >=display_height or lead_y < 0:
gameOver = True
lead_x += lead_x_change
lead_y += lead_y_change
gameDisplay.fill(random)
pygame.draw.rect(gameDisplay,red,[randAppleX,randAppleY,block-size,block_size])
pygame.draw.rect(gameDisplay,blue,[lead_x,lead_y,block_size,block_size])
clock.tick(FPS)
pygame.display.flip()
pygame.quit()
quit()
GameLoop()
`
导入pygame
输入随机
pygame.init()
显示宽度=1000
显示高度=500
gameDisplay=pygame.display.set_模式((显示宽度、显示高度))
pygame.display.set_标题(“SlikiSnake”)
clock=pygame.time.clock()
FPS=15
块大小=10
def GameLoop():
引线x=显示宽度/2
引线y=显示高度/2
lead_x_change=0
潜在客户变更=0
randAppleX=random.randint(0,显示宽度-块大小)
randAppleY=random.randint(0,显示高度-块大小)
pygame.display.update()
gameExit=False
gameOver=False
不退出游戏时:
当gameOver==True时:
游戏显示。填充(白色)
屏幕上的信息(“游戏结束,按r重新开始或按Q退出”,黑色)
pygame.display.update()
对于pygame.event.get()中的事件:
如果event.type==pygame.KEYDOWN:
如果event.key==pygame.K\r:
GameLoop()
如果event.key==pygame.K_q:
gameExit=True
gameOver=False
如果引线x>=显示宽度或引线x<0或引线y>=显示高度或引线y<0:
gameOver=True
lead_x+=lead_x_更换
lead_y+=lead_y_更换
游戏显示。填充(随机)
pygame.draw.rect(游戏显示,红色,[randAppleX,randAppleY,块大小,块大小])
pygame.draw.rect(游戏显示,蓝色,[lead\u x,lead\u y,block\u size,block\u size])
时钟滴答声(FPS)
pygame.display.flip()
pygame.quit()
退出
GameLoop()
`
但错误在于:
random
指定给您发布的行的import random
之间的某个元组嗯,不,我没有,我编辑了我的文章,这样你就可以看到整个代码。@ArnavKundalia事实上,
random
是一个元组,当你到达randAppleX=random.randint(0,显示宽度-块大小)
。另外,鉴于random
仍然是您导入的模块,您希望行gameDisplay.fill(random)
做什么?这个问题的替代方案是什么..还有gameDisplay.fill(random)是我在program@ArnavKundalia然后你必须在某个地方将random
设置为该颜色,你不觉得吗?请确保您没有将其设置为元组。您提供的代码不正确。您两次都拼错了import,这意味着您的脚本应该立即崩溃,但根据您的错误,它在第48行崩溃。您的代码是82行,但根据错误GameLoop()
位于第134行。您尚未在屏幕上定义白色、黑色、蓝色或消息。您曾经使用块大小而不是块大小。DeepSpace向您提供了错误的原因,他/她是正确的。