13x13网格,在用户输入上用多种颜色填充每个单元格

时间:2015-12-31 07:35:38

标签: python

我正在尝试在python 3.5中创建一个NLHE扑克翻牌前手图(13 x 13矩阵)gui。 我需要表中的每个方框(1个方框= 1个手的组合)来填充多种颜色(表示正在采取的不同动作)。 每个方框中的颜色将与用户输入相对应(因此类似“AA r:75 c:25”的方法将告诉方框手中AA填充75%的color1和25%的color2。

最终结果应如下所示:

End result Image

我不知道该如何解决这个问题。 我可以使用填充颜色制作(13x13 = 169)单个盒子的龟图形,并使用像turtle.fd(AAr)/ turtle.fd(AAc)这样的变量,但我不确定这是否是最好的方法。我也更喜欢能够调整gui的大小并让13x13网格扩展/缩小。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

如果每个方格的颜色根据手的强度而变化,并伴随着一个小小的传说,那么阅读图表可能会更容易。像这样:

enter image description here

Tkinter是Python stdlib的一部分。

这里是做网格和颜色的一些基本代码。目前这只是每个方格的六角形颜色,但你必须用每只手和颜色代码创建一个字典以增加强度。

import Tkinter
import random

c = "AKQJT98765432"
r = lambda: random.randint(0,255)

root = Tkinter.Tk()
[Tkinter.Label(root, text=i+j, bg='#%02X%02X%02X'%(r(),r(),r())).grid(\
row=c.index(i), column=c.index(j)) for i in c for j in c]
root.mainloop()

答案 1 :(得分:0)

您可以使用tkinter轻松完成此操作。通过对齐4或10或100个矩形创建一个创建一个正方形的类。然后,您可以根据您拥有的任何方案为各种矩形着色。一旦你拥有了它,制作这些正方形的网格就很简单了。