Advertisement
OtsoSilver

Untitled

Oct 29th, 2021
1,191
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.69 KB | None | 0 0
  1. #pgzero
  2. import random
  3.  
  4. WIDTH = 600
  5. HEIGHT = 450
  6.  
  7. TITLE = "Космическое путешествие"
  8. FPS = 30
  9.  
  10. # Объекты и переменные
  11. ship = Actor("ship", (300, 400))
  12. space = Actor("space")
  13. enemies = []
  14. mode = 'game'
  15.  
  16. # Заполнение списка врагов
  17. for i in range(5):
  18.     x = random.randint(0, 600)
  19.     y = random.randint(-450, -50)
  20.     enemy = Actor("enemy", (x, y))
  21.     enemy.speed = random.randint(2, 8)
  22.     enemies.append(enemy)
  23.  
  24. # Отрисовка
  25. def draw():
  26.     # Режим игры
  27.     if mode == 'game':
  28.         space.draw()
  29.         ship.draw()
  30.         # Отрисовка врагов
  31.         for i in range(len(enemies)):
  32.             enemies[i].draw()
  33.     # Окно проигрыша    
  34.     elif mode == 'end':
  35.         space.draw()
  36.         screen.draw.text("GAME OVER!", center = (300, 200), color = "white", fontsize = 36)
  37.    
  38. # Управление
  39. def on_mouse_move(pos):
  40.     ship.pos = pos
  41.  
  42. # Добавление в список нового врага
  43. def new_enemy():
  44.     x = random.randint(0, 400)
  45.     y = -50
  46.     enemy = Actor("enemy", (x, y))
  47.     enemy.speed = random.randint(2, 8)
  48.     enemies.append(enemy)
  49.  
  50. # Движение врагов
  51. def enemy_ship():
  52.     for i in range(len(enemies)):
  53.         if enemies[i].y < 650:
  54.             enemies[i].y = enemies[i].y + enemies[i].speed
  55.         else:
  56.             enemies.pop(i)
  57.             new_enemy()
  58.  
  59. # Столкновения
  60. def collisions():
  61.     global mode
  62.     for i in range(len(enemies)):
  63.         if ship.colliderect(enemies[i]):
  64.             mode = 'end'
  65.  
  66. def update(dt):
  67.     if mode == 'game':
  68.         enemy_ship()
  69.         collisions()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement