1

我正在学习 wxPython 来制作国际象棋 GUI,但我不完全知道应该如何完成,要使用哪些小部件。我在想我把每个方块都做成一个带有图片的按钮,然后将它们放在板上,彼此相邻,所以我在板上有 64 个按钮。

当我移动一块时,我将按钮放在目标方格上,然后原方格将被一个代表空方格的按钮替换。

这是在 wxPython 中执行此操作的正确方法吗?我真的被困在这里,因为网络上没有 wxPython 中国际象棋 GUI 的示例。

4

1 回答 1

2

啊,大约十年前,我用 wxPython 创建国际象棋程序是我自学 Python 编程的方式;-) 祝你好运。

首先,您需要为电路板绘制网格。这很简单。然后你需要一个数据结构来记住所有片段的位置。为此,我在这里使用了模块:http ://www.alcyone.com/pyos/chess/ 。接下来,您需要一个例程,该例程Board将在适当的位置绘制碎片。

要移动棋子,您可能需要使用拖放操作。这样,您可以使一个正方形(或在该正方形上绘制的部分)可拖动。您将需要一个例程来根据屏幕坐标计算平方,例如screen_to_board()。在 drop 事件中,您将使用相同的程序计算目标方格。然后您只需更新板状态(使用Board.move())并重绘屏幕。

于 2012-10-01T14:47:46.150 回答