微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何修复在分配我的代码之前引用的封闭范围内的精炼?

如何解决我如何修复在分配我的代码之前引用的封闭范围内的精炼?

我不知道为什么我不能将一个数字添加一个随机生成的数字相等的变量中。 我尝试了一些愚蠢的事情,比如尝试为 Xplay 分配一个变量。没用。我想要做的只是随机生成一个 x 和 y 坐标,这将是矩形的位置,然后当我按下向上、向下、向左和向右键时,它会移动 10 个像素

import pygame,sys
from pygame.locals import *

import random

pygame.init()
displayWidth = 700
displayHeight = 400
BoxSize = 10

Black = (0,0)
DarkGreen = (0,200,0 )
Green = (0,255,0)
Red = (255,0)
White = (255,255)

start = True
DEATH = False

Xplay = random.randrange(2,68)  #error's origin
Yplay = random.randrange(2,38)  #error's origin
Xchange = 0
Ychange = 0




def main():
  global FPSClock,display,Basicfont

  pygame.init()
  FPSClock = pygame.time.Clock()
  display = pygame.display.set_mode((displayWidth,displayHeight))
  Basicfont = pygame.font.Font('freesansbold.ttf',30)

  while start:
    RunGame()

    

def RunGame():
  pygame.draw.rect(display,DarkGreen,(Xplay,Yplay,20,20))
  while not DEATH:
    for event in pygame.event.get():
      if event.type == QUIT:
        terminate()
      if event.type == pygame.KEYDOWN:
        if event.key == pygame.K_LEFT or pygame.K_a:
          Xchange = -10
          Ychange = 0
        elif event.key == pygame.K_UP or pygame.K_w:
          Xchange = 0
          Ychange = -10
        elif event.key == pygame.K_DOWN or pygame.K_s:
          Xchange = 0
          Ychange = 10
        elif event.key == pygame.K_RIGHT or pygame.K_d:
          Xchange = 10
          Ychange = 0  
    Xplay += Xchange   #error
    Yplay += Ychange   #error
    

      






def terminate():
  pygame.quit()
  sys.exit()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。