在wxpython中建模棋盘

时间:2012-10-01 14:32:27

标签: python wxpython chess

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

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

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

1 个答案:

答案 0 :(得分:2)

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

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

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