Advertisement
Roman9234

Untitled

Feb 21st, 2024
526
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.50 KB | Gaming | 0 0
  1. import arcade
  2.  
  3. SCREEN_WIDTH = 800
  4. SCREEN_HEIGHT = 600
  5. SCREEN_TITLE = "Ракетка"
  6.  
  7. SPEEDX = 5
  8. SPEEDY = 3
  9. BALL_IMG = "ping-pong/ball.png"
  10. BALL_SCALE = 0.1
  11.  
  12.  
  13. # 1. Создать константы SCREEN_TITLE, SPEEDX, SPEEDY, BALL_IMG, BALL_SCALE
  14. # 2. Добавить ракетку
  15.  
  16.  
  17. class Ball(arcade.Sprite):
  18.     # движение спрайта
  19.     def update(self):
  20.         self.center_x += self.change_x
  21.         if self.right > SCREEN_WIDTH or self.left < 0:
  22.             self.change_x *= -1
  23.         self.center_y += self.change_y
  24.         if self.top > SCREEN_HEIGHT or self.bottom < 0:
  25.             self.change_y *= -1
  26.  
  27.  
  28. class GameWindow(arcade.Window):  # описание игрового окна
  29.     # наследование
  30.     def __init__(self, width, height, title):
  31.         super().__init__(width, height, title)
  32.         self.ball = Ball(BALL_IMG, BALL_SCALE)
  33.         self.ball.center_x = SCREEN_WIDTH / 2
  34.         self.ball.center_y = SCREEN_HEIGHT / 2
  35.         self.ball.change_x = SPEEDX
  36.         self.ball.change_y = SPEEDY
  37.        
  38.  
  39.     def on_draw(self):  # отрисовка
  40.         arcade.start_render()
  41.         arcade.set_background_color(arcade.color.DEEP_JUNGLE_GREEN)
  42.         self.ball.draw()
  43.    
  44.     # обновление окна, игровая логика
  45.     def update(self, delta_time):
  46.         self.ball.update()
  47.  
  48.  
  49. window = GameWindow(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)  # создание игрового окна
  50. arcade.run()
  51.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement