繁体   English   中英

使用 Tkinter GUI 的国际象棋游戏,移动棋子

[英]Chess game using Tkinter GUI, Moving the pieces

我目前正在开发一个国际象棋游戏作为 A-Level 编程项目,但我无法让棋子全面移动。 我正在使用的 canvas.move() function 似乎没有移动图像,我尝试了其他功能,包括 canvas.coords() 任何帮助将不胜感激。 这是移动碎片的代码:

 piece = None

    def getorigin(eventorigin):
        global Posx,Posy, piece
        Posx = eventorigin.x
        Posy = eventorigin.y
        Xcase = math.ceil((Posx / 62)) - 1
        Ycase = math.ceil((Posy / 62)) - 1
        
        if Matrix[Ycase][Xcase] != "":
    # select the piece
            piece = Matrix[Ycase][Xcase]
            preY = Ycase
            preX = Xcase
            print(piece)
        elif piece:
    # a piece is selected, so move the piece
            canvas.move(piece, Xcase*62.5+33, Ycase*62.5+33)
            Matrix[Ycase][Xcase] = piece
            Matrix[preY][preX] = ""
            piece = None  # deselect the piece 
            piecePosition()

    canvas.bind("<Button-1>", getorigin)
    root.title("Chess")
    root.iconbitmap()
    root.geometry("500x500")
    root.mainloop()

这是用作板的矩阵网格:

Matrix= [["bRook","bKnight","bBishop","bQueen","bKing","bBishop","bKnight","bRook"],
            ["bPawn","bPawn","bPawn","bPawn","bPawn","bPawn","bPawn","bPawn"],
            ["","","","","","","",""],
            ["","","","","","","",""],
            ["","","","","","","",""],
            ["","","","","","","",""],
            ["wPawn","wPawn","wPawn","wPawn","wPawn","wPawn","wPawn","wPawn"],
            ["wRook","wKnight","wBishop","wQueen","wKing","wBishop","wKnight","wRook"]]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM