¿Podéis confirmarme si la velocidad de la bola es constante? Gracias.
Publicado por Kid (24 intervenciones) el 29/12/2019 16:07:38
He probado con varios entornos de desarrollo (VisualStudio, Anaconda); pero el movimiento de la bola es inconstante, con acelerones aleatorios; especialmente cuando se mueven las palas.
¿Podéis confirmarme si a vosotros os pasa lo mismo y, en ese caso, cómo solucionarlo? ¡Gracias!
¿Podéis confirmarme si a vosotros os pasa lo mismo y, en ese caso, cómo solucionarlo? ¡Gracias!
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
import turtle
wn=turtle.Screen()
wn.bgcolor("black")
wn.setup(width=800,height=600)
wn.tracer(0)
pad=turtle.Turtle()
pad.speed(0)
pad.shape("square")
pad.color("Blue")
pad.penup()
pad.shapesize(stretch_wid=5,stretch_len=1)
pad.goto(-350,0)
pada=turtle.Turtle()
pada.speed(0)
pada.penup()
pada.shape("square")
pada.shapesize(stretch_wid=5, stretch_len=1)
pada.goto(350,0)
pada.color("red")
ball=turtle.Turtle()
ball.penup()
ball.color("white")
ball.shape("circle")
ball.speed(0)
ball.color("white")
ball.dx=0.3
ball.dy=0.3
#Function movement
def padup():
y=pad.ycor()
y+=20
pad.sety(y)
def paddown():
y=pad.ycor()
y-=20
pad.sety(y)
def padaup():
y=pada.ycor()
y+=20
pada.sety(y)
def padadown():
y=pada.ycor()
y-=20
pada.sety(y)
#Keyboard feedback
wn.listen()
wn.onkeypress(padup, "w")
wn.onkeypress(paddown, "s")
wn.onkeypress(padaup, "Up")
wn.onkeypress(padadown, "Down")
#Main game loop
while True:
wn.update()
#Move the ball
ball.setx(ball.xcor()+ball.dx)
ball.sety(ball.ycor()+ball.dy)
#Border checking
if ball.ycor()>290:
ball.sety(290)
ball.dy*=-1
if ball.ycor()<-290:
ball.sety(-290)
ball.dy*=-1
if ball.xcor()>390:
ball.goto(0,0)
ball.dx*=-1
if ball.xcor()<-390:
ball.goto(0,0)
ball.dx*=-1
if pad.ycor()>250:
pad.sety(250)
if pada.ycor()>250:
pada.sety(250)
if pad.ycor()<-250:
pad.sety(-250)
if pada.ycor()<-250:
pada.sety(-250)
#Collision
if (ball.xcor()>340 and ball.xcor()<350) and (ball.ycor()<pada.ycor()+60 and ball.ycor()>pada.ycor()-60):
ball.setx(340)
ball.dx*=-1
if (ball.xcor()<-340 and ball.xcor()>-350) and (ball.ycor()<pad.ycor()+60 and ball.ycor()>pad.ycor()-60):
ball.dx*=-1
Valora esta pregunta


0