Advertisement
dragoosha

Untitled

Jul 20th, 2022
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.93 KB | None | 0 0
  1. [pygame.py]
  2.  
  3. import pygame, controls
  4. import sys
  5. from spacecraft import Spacecraft
  6. from pygame.sprite import Group
  7.  
  8. def run():
  9. # команда инициализации игры
  10. pygame.init()
  11. # Отображаемая област, где будут все графические элементы игры
  12. screen = pygame.display.set_mode((700, 750))
  13. # Заголовок для графической окна
  14. pygame.display.set_caption("Инопланетный взрыв")
  15. # Фоновый цвет для дисплея в RGB
  16. bg_color = (102, 102, 102)
  17. # Отрисовка корабля на экране
  18. spacecraft = Spacecraft(screen)
  19. # Создание контейнера с пулями
  20. bullets = Group()
  21.  
  22. # Главный цикл игры
  23. while True:
  24.  
  25. # Вызвать из файла controls функцию events
  26. controls.events(screen, bullets, spacecraft)
  27. # Вызвать из файла spacecraft функцию логической переменной
  28. spacecraft.update_spacecraft()
  29. # Вызвать из файла bullet функцию update
  30. bullets.update()
  31. # Вызвать из файла controls функцию update
  32. controls.update(bg_color, screen, spacecraft, bullets)
  33.  
  34.  
  35.  
  36.  
  37. run()
  38.  
  39.  
  40. [bullet.py]
  41.  
  42. import pygame
  43.  
  44. class Bullet(pygame.sprite.Sprite):
  45.  
  46. def __init__(self, screen, spacecraft):
  47. """Создание пули в текущей позиции корабля"""
  48. # У pygame есть class Sprite, class Bullet обращается к class Sprite. Чтобы обрать к class Sprite без ввода
  49. # кодов на инициализацию пули, super(Bullet(Sprite))
  50. super(Bullet, self).__init__()
  51. # Загрузка экрана, где будут создаваться пули
  52. self.screen = screen
  53. # Отрисовка прямоугольника pygame.rect([координата X], [координата Y],[Ширина {pixel}], [Высота {pixel}])
  54. self.rect = pygame.Rect(0, 0, 2, 12)
  55. self.color = 178,34,34
  56. self.speed = 1.5
  57. # Пуля должна появляться в верхней части корабли
  58. self.rect.centerx = spacecraft.rect.centerx
  59. self.rect.top = spacecraft.rect.top
  60. # Координата по Y
  61. self.y = float(self.rect.y)
  62.  
  63.  
  64. def update(self):
  65. """Пермещение пули вверх"""
  66. # Координата Y будет уменьшаться на заданную скорость
  67. self.y -= self.speed
  68. # Обновление позиции прямоугольника
  69. self.rect.y = self.y
  70.  
  71. def draw_bullet(self):
  72. """Рисуем пулю на экране"""
  73. pygame.draw.rect(self.screen, self.color, self.rect)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement