我目前有代码发送数据通过一个套接字,它是工作的,除了字典我送过去没有在它。我在这段代码里做错什么了吗
class ChessBoard(tk.Frame):
def __init__(self, parent, rows=8, columns=8, size=70, color1="White", color2="lightgrey"):
self.rows = rows
self.columns = columns
self.size = size
self.color1 = color1
self.color2 = color2
self.pieces = {}
tk.Frame.__init__(self, parent)
self.canvas = tk.Canvas(self, borderwidth=0, highlightthickness=0,
width=canvas_width, height=canvas_height, background="bisque")
self.canvas.pack(side="top", fill="both", expand=True, padx=2, pady=2)
color = self.color2
for row in range(self.rows):
color = self.color1 if color == self.color2 else self.color2
for col in range(self.columns):
x1 = (col * self.size)
y1 = (row * self.size)
x2 = x1 + self.size
y2 = y1 + self.size
self.canvas.create_rectangle(x1, y1, x2, y2, outline="black", fill=color, tags="square")
color = self.color1 if color == self.color2 else self.color2
def addpiece(self):
self.canvas.WhiteKing = tk.PhotoImage(file = 'E:\\Final Project + Report\\Pieces\\WhiteKing.png')
self.canvas.create_image(0,0, image=self.canvas.WhiteKing, tags="WhiteKing", anchor="c")
self.placepiece("WhiteKing", row = 7, column = 4)
self.canvas.WhiteQueen = tk.PhotoImage(file = 'E:\\Final Project + Report\\Pieces\\WhiteQueen.png')
self.canvas.create_image(0,0, image=self.canvas.WhiteQueen, tags="WhiteQueen", anchor="c")
self.placepiece("WhiteQueen", row = 7, column = 3) ######
def placepiece(self, name, row, column):
self.pieces[name] = (row, column)
x0 = (column * self.size) + int(self.size/2)
y0 = (row * self.size) + int(self.size/2)
self.canvas.coords(name, x0, y0)
if __name__ == "__main__":
root = tk.Tk()
board = ChessBoard(root)
board.pack(side="top", fill="both", expand="true", padx=4, pady=4)
board.addpiece()
root.mainloop()
这是我的密码:
serverName = '127.0.0.1'
serverPort = 8000
root = tk.Tk()
a = Final_Chess_Game.ChessBoard(root)
serializedDict = json.dumps(a.pieces)
self.sock.sendto(serializedDict.encode(),(serverName,serverPort))
print(serializedDict)
所以我从另一个文件导入一个字典,这个文件包含了程序运行时的所有片段
以下是我收到的图片:
嗯,你可能不喜欢这个答案,但它收到的是一本空字典,因为你正在发送一本空字典!代码按预期运行,问题是
a.pieces
为空或是序列化为空字典的数据结构。如果你发布更多的代码,也许我们可以帮助进一步诊断。从目前的情况看,有点难说只是为了好玩,试试这个
相关问题 更多 >
编程相关推荐