SaveText.Ru

Без имени
  1. import pygame
  2. import random
  3.  
  4. FPS = 60
  5. W = 700  # ширина экрана
  6. H = 300  # высота экрана
  7.  
  8. BLACK   = (0,   0,   0) #цвета
  9. WHITE   = (255, 255, 255)
  10. RED     = (255, 0,   0)
  11. GREEN   = (0,   255, 0)
  12. BLUE    = (0,   0,   255)
  13. YELLOW  = (255, 255, 0)
  14. GRAY    = (200, 200, 200)
  15.  
  16. RIGHT = "to the right"
  17. LEFT = "to the left"
  18. STOP = "stop"
  19.  
  20. class Block(pygame.sprite.Sprite):
  21.     def __init__(self, color, size=30, speed=5):
  22.         super().__init__()
  23.         self.image = pygame.Surface([size, size])
  24.         self.image.fill(color)
  25.         self.rect = self.image.get_rect()
  26.         self.rect.x = random.randrange(W)
  27.         self.rect.y = random.randrange(H)
  28.         self.speed = speed
  29.  
  30.     def update(self):
  31.         # Подвинуть блок "навстречу" автомобилю
  32.         self.rect.y += self.speed
  33.         if self.rect.y > W:
  34.             self.rect.y = 0
  35.             self.rect.x = random.randrange(W)
  36.  
  37. pygame.init()
  38. sc = pygame.display.set_mode((W, H))
  39. clock = pygame.time.Clock()
  40.  
  41. # координаты и радиус круга
  42. '''
  43. x = W // 2
  44. y = H // 2
  45. r = 50
  46. '''
  47. motion = STOP
  48.  
  49. # Создаем группы спрайтов:
  50. block_list = pygame.sprite.Group()
  51. all_sprites_list = pygame.sprite.Group()
  52.  
  53. # Создаем блоки - препятствия и добавляем их в группы:
  54. for i in range(10):
  55.     block = Block(BLACK)
  56.     block_list.add(block)
  57.     all_sprites_list.add(block)
  58.  
  59. # Создаем автомобиль игрока
  60. player = Block(RED, )
  61. player.rect.x = W // 2
  62. player.rect.y = H // 2
  63. # Добавляем автомобиль в группу all_sprites_list:
  64. all_sprites_list.add(player)
  65.  
  66. while 1:
  67.     sc.fill(WHITE)
  68.  
  69.     #pygame.draw.circle(sc, BLUE, (x, y), r)
  70.     all_sprites_list.draw(sc)
  71.     pygame.display.update()
  72.  
  73.     for i in pygame.event.get():
  74.         if i.type == pygame.QUIT:
  75.             exit()
  76.         elif i.type == pygame.KEYDOWN:
  77.             if i.key == pygame.K_LEFT:
  78.                 motion = LEFT
  79.             elif i.key == pygame.K_RIGHT:
  80.                 motion = RIGHT
  81.         elif i.type == pygame.KEYUP:
  82.             if i.key in [pygame.K_LEFT, pygame.K_RIGHT]:
  83.                 motion = STOP
  84.  
  85.     if motion == LEFT:
  86.         player.rect.x -= 3
  87.     elif motion == RIGHT:
  88.         player.rect.x += 3
  89.  
  90.     clock.tick(FPS)

Share with your friends:

Print