[英]Python Turtle Pong Game Ball and Paddle Collisions
#Paddle and Ball collisions
if (ball.xcor() > 340 and ball.xcor() < 350) and (ball.ycor() < paddle_b.ycor() + 40 and ball.ycor() > paddle_b.ycor() -40):
ball.setx(340)
ball.dx *= -1
if (ball.xcor() < -340 and ball.xcor() > -350) and (ball.ycor() < paddle_a.ycor() + 40 and ball.ycor() > paddle_a.ycor() -40):
ball.setx(-340)
誰能解釋一下這段代碼的第一行?為什么使用 -40 和 +40
誰能解釋一下這段代碼的第一行?為什么使用 -40 和 +40
ball.ycor()
和paddle_b.ycor()
都是點。 然而,槳本身是某種 80 像素高的矩形實體。 所以我們需要確定球的垂直中心點是否位於球拍的任何部分上:
and (ball.ycor() < paddle_b.ycor() + 40 and ball.ycor() > paddle_b.ycor() -40)
一種更慣用的寫法可能是:
and paddle_b.ycor() -40 < ball.ycor() < paddle_b.ycor() + 40
同樣對於球的水平位置:
(ball.xcor() > 340 and ball.xcor() < 350)
或者:
340 < ball.xcor() < 350
我們不需要考慮槳的當前水平位置,因為它不會水平移動——它相對於 X 軸處於固定位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.