我一直在pygame製作一款我自己設計的棋盤遊戲,其中棋子可以通過物理方式將其他棋子推向棋盤上的不同位置。現在我有一個更新函數,用於檢查距離它不到50個像素的其他作品(這些作品是50 x 50個正方形網格上的50 x 50個正方形),因此這意味着它們正在相交,並且該作品正在推動它)(正方形不會自動對齊網格,它們的位置就是它們拼寫的精確像素)。是否有一種優雅的方式來取得推動件的位置和推動件的位置以獲得推動件需要移動的像素數量?目前,我有四個if語句,其中去或多或少像這樣:Pygame Piece Interactions?
如果在適當的位置的差小於50並在x正方向: 件位置+ =差
如果該差在位置是小於50和在x負方向: 件位置 - =差異
等爲Y的正面和負面。是否有可能找到一種方法來+ =一個表達式在正面和負面都有效的位置(x或y)?這樣我就只能有兩條if語句,並減少代碼混亂。
我不認爲你已經給出了足夠詳細的行爲描述。這些作品應該鎖定在網格上嗎?換句話說,每件作品的狀態都是正方形的? – Denziloe
正方形不會自動對齊網格,它們的位置就是它們的精確像素 –
然後網格中的點是什麼?聽起來不像它與遊戲交互。它基本上是一個背景圖像,不是嗎? – Denziloe