簡體   English   中英

Python Turtle Pong Game 球和槳碰撞

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM