簡體   English   中英

如何修復我的棋盤的符號?

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

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