Browse Source

Definieren der Eigenschaften vom Ball

Kristin 7 years ago
parent
commit
4e2a8554d3
1 changed files with 49 additions and 0 deletions
  1. 49 0
      pingpong.py

+ 49 - 0
pingpong.py

@@ -2,6 +2,8 @@
2 2
 # Willi Schlegel, Francine Theil, Kristin Weber
3 3
 # letzte Aenderung: 19.07.2017
4 4
 
5
+
6
+#-----------------------------------------------------------------
5 7
 # Import der einzelnen Module
6 8
 import random as r
7 9
 import time
@@ -20,4 +22,51 @@ paddle = Paddle(canvas, 'black')
20 22
 ball = Ball(canvas, 'white', 25, paddle)
21 23
 
22 24
 #----------------------------------------------------------------
25
+# Eigenschaften des Paddles definieren
26
+
27
+class Ball():
28
+
29
+    def __init__(self, canvas, color, size, paddle):
30
+
31
+	self.canvas = canvas
32
+	self.paddle = paddle
33
+	self.id = canvas.create_oval(15, 15, size, size, fill=color)
34
+	self.canvas.move(self.id, 245, 100)
35
+	self.xspeed = random.randrange(-3,3)
36
+	self.yspeed = -1
37
+	self.hit_bottom = False
38
+	self.score = 0
39
+
40
+    def draw(self):
41
+
42
+	self.canvas.move(self.id, self.xspeed, self.yspeed)
43
+	pos = self.canvas.coords(self.id)
44
+
45
+        if pos[0] <= 0:
46
+            self.xspeed = 3
47
+
48
+	if pos[1] <= 0:
49
+	    self.yspeed = 3
50
+
51
+	if pos[2] >= 500:
52
+	    self.xspeed = -3
53
+
54
+	if pos[3] >= 400:
55
+	    self.hit_bottom = True
56
+
57
+	if self.hit_paddle(pos) == True:
58
+	    self.yspeed = -3
59
+	    self.xspeed = random.randrange(-3,3)
60
+	    self.score += 1
61
+
62
+    def hit_paddle(self, pos):
63
+
64
+	paddle_pos = self.canvas.coords(self.padle.id)
65
+
66
+	if pos[2] >= padle_pos[0] and pos[0] <= paddle_pos[2]:
67
+
68
+	    if pos[3] >= paddle_pos[1] and pos[3] <= paddle_pos[3]:
69
+
70
+		return True
23 71
 
72
+	return False