-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathright_paddle.py
47 lines (36 loc) · 1.64 KB
/
right_paddle.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/usr/bin/env python3
from paddle import *
class RightPaddle(Paddle):
def __init__(self, x, y, width, height, canvas, color):
super().__init__(x, y, width, height, canvas, color)
def draw(self):
self.canvas.move(self.id, 0, self.speed)
paddle_position = self.canvas.coords(self.id)
# If paddle is out of canvas, disable movement
if paddle_position[1] > 0:
self.canvas.bind_all('<KeyPress-Up>', lambda event:
self.move(event, self.active_speed * (-1)))
self.canvas.bind_all('<KeyRelease-Up>', self.stop_up)
if paddle_position[3] < game.window_height:
self.canvas.bind_all('<KeyPress-Down>', lambda event:
self.move(event, self.active_speed))
self.canvas.bind_all('<KeyRelease-Down>', self.stop_down)
# If paddle is out of canvas, disable movement
if paddle_position[1] <= 0:
self.speed = 0
self.canvas.unbind_all('<KeyPress-Up>')
if paddle_position[3] >= game.window_height:
self.speed = 0
self.canvas.unbind_all('<KeyPress-Down>')
# Paddle movement through x axis
def move(self, evt, speed):
self.speed = speed
def stop_up(self, evt):
if not self.speed > 0:
self.speed = 0
def stop_down(self, evt):
if not self.speed < 0:
self.speed = 0
right_paddle = RightPaddle(game.window_width - 10,
game.window_ycenter-game.window_yquarter // 3,
10, 100, game.canvas, 'blue')