[英]how do i fix the notation of my chess board?
我正在使用 pycharm 中的 python 3.10.7 並使用 pygame 2.1.3 制作國際象棋游戲。 這是我的 main() function 中的一些代碼。 我正在嘗試獲取用戶單擊的片段的 position 並且它可以工作,但是符號的數字 position 是錯誤的。 例如,如果我點擊左下角的白車,它說用戶點擊了a8,但它應該是a1。 我該如何解決?
running = True
while running:
for event in p.event.get():
if event.type == p.QUIT:
running = False
if event.type == p.MOUSEBUTTONDOWN:
mousePosition = event.pos
column, row == mousePosition[0] // SQUARE_SIZE, mousePosition[1] // SQUARE_SIZE
columnName, rowName = chr(ord(‘a’) + column), str(row+1)
print(f”Clicked on {columnName + rowName}”)
就 pygame 而言,板的 y 分量從頂部的 0 和底部的 7 開始。 這是代碼中的row
變量。
由於您希望底部為 1,頂部為 8,因此您需要從 8 中減去該row
以獲得您的rowName
所以上面代碼的第 9 行將是
columnName, rowName = chr(ord('a') + column), str(8-row)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.