我正在制作自己的Tic-Tac-Toe游戏。
在这个阶段,我正在尝试为其添加网络功能,这将允许同一网络中的两个玩家 - 但是在不同的设备中 - 相互对战。
我要做的第一件事就是通过服务器将游戏发送到客户端,但在这种情况下,功能游戏()(运行整个游戏)正在打开服务器端,而不是客户端。
代码最后一部分的特别亮点(主要功能)!
任何帮助?
def Main():
host = "127.0.0.1"
port = 5000
mySocket = socket.socket()
mySocket.bind((host,port))
mySocket.listen(1)
conn, addr = mySocket.accept()
print ("Connection from: " + str(addr))
while True:
data = conn.recv(1024).decode()
if not data:
break
print ("from connected user: " + str(data))
data = game
print ("sending: ")
conn.send(data().encode())
conn.close()
if __name__ == '__main__':
Main()
答案 0 :(得分:0)
首先,您需要一个Game类来替换游戏功能。然后,客户端和服务器(假设您想要在客户端和服务器之间进行游戏)应该维护一个Game实例。这样,当客户端移动时,它可以更新自己的Game实例,并将更新发送到服务器。服务器可以做同样的事情来保持游戏的进行 无论如何,这个repo可以帮助你解决这个问题。它没有很好地完成,甚至没有错误处理。但它的游戏功能可以发挥作用。