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

时间:2020-10-04 08:55:34

标签: python python-3.x if-statement pygame

我一直在通过在线网站学习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, 0))
     pygame.draw.rect(win, (0, 0, 255), (bluex, bluey, 20, 20))
     pygame.draw.rect(win, (255, 0, 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

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

1 个答案:

答案 0 :(得分:0)

(如果redX

相关问题