Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import arcade
- SCREEN_WIDTH = 900 # ширина экрана
- SCREEN_HEIGHT = 600 # высота экрана
- SCREEN_TITLE = "Пинг-понг"
- BG_COLOR = (161, 183, 56)
- SPEEDX = 5
- SPEEDY = 5
- BALL_IMG = "ping-pong/images/ball.png"
- BALL_SCALE = 0.1
- PLAT_IMG = "ping-pong/images/platform.png"
- PLAT_SCALE = 0.1
- class Ball(arcade.Sprite):
- def update(self):
- self.center_x += self.change_x
- if self.right > SCREEN_WIDTH or self.left < 0:
- self.change_x = - self.change_x
- self.center_y += self.change_y
- if self.top > SCREEN_HEIGHT or self.bottom < 0:
- self.change_y = - self.change_y
- class Platform(arcade.Sprite):
- def update(self):
- self.center_x += self.change_x
- class GameWindow(arcade.Window):
- # конструктор
- def __init__(self, width, height, title):
- super().__init__(width, height, title)
- self.ball = Ball(BALL_IMG, BALL_SCALE)
- self.ball.center_x = SCREEN_WIDTH/2
- self.ball.center_y = SCREEN_HEIGHT/2
- self.ball.change_x = SPEEDX
- self.ball.change_y = SPEEDY
- self.platform = Platform(PLAT_IMG, PLAT_SCALE)
- self.platform.center_x = SCREEN_WIDTH/2
- self.platform.center_y = SCREEN_HEIGHT/12
- # отрисовка
- def on_draw(self):
- arcade.start_render() # начало отрисовка
- arcade.set_background_color(BG_COLOR)
- self.ball.draw()
- self.platform.draw()
- # обновление окна, игровая логика
- def on_update(self, delta_time: float):
- self.ball.update()
- self.platform.update()
- if self.ball.bottom < self.platform.top :
- self.ball.change_y = - self.ball.change_y
- window = GameWindow(SCREEN_WIDTH, SCREEN_HEIGHT, SCREEN_TITLE)
- arcade.run()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement