这个代码块If ... Else如何移动?

问题描述

我一直在通过在线网站学习Pygame,但遇到了问题。

我是一个初学者,我想知道如何通过If ... Else下的这段代码来实现运动。我一直在尝试制作这款游戏​​。

这是完整的代码

import pygame
pygame.init()
win = pygame.display.set_mode((1280,720))
pygame.display.set_caption("Game of Squares")
bluex = 100
bluey = 100
redX = 300
redY = 300
bluevel = 6
redVel = 4
run = True

def drawGame():
     win.fill((0,0))
     pygame.draw.rect(win,(0,255),(bluex,bluey,20,20))
     pygame.draw.rect(win,(255,0),(redX,redY,40,40))
     pygame.display.update()

while run:
      pygame.time.delay(100)

      if redX < bluex - 10:
          redX = redX + redVel 
          drawGame() 
      elif redX > bluex + 10:
          drawGame()
          redX = redX - redVel
      elif redY < bluey - 10: 
          redY = redY + redVel 
      elif redY > bluey + 10:
          redY = redY - redVel
      else:
          run = False
      
      for event in pygame.event.get():
            if event.type == pygame.QUIT:
                  run = False

      keys = pygame.key.get_pressed()

      *if keys[pygame.K_LEFT]:
            bluex -= bluevel

      if keys[pygame.K_RIGHT]:
            bluex += bluevel
      
      if keys[pygame.K_UP]:
            bluey -= bluevel
      
      if keys[pygame.K_DOWN]:
            bluey += bluevel**
      
      drawGame()
          
pygame.quit()  

这是此处用于移动的代码块-

if redX < bluex - 10:
          redX = redX + redVel 
          drawGame() 
      elif redX > bluex + 10:
          drawGame()
          redX = redX - redVel
      elif redY < bluey - 10: 
          redY = redY + redVel 
      elif redY > bluey + 10:
          redY = redY - redVel
      else:
          run = False

这怎么可能?此代码块做什么?十来个怎么来?

解决方法

(如果redX