Closed HuangFuSL closed 3 years ago
首先一个问题是,client.py和client_subthread.py文件的关系是怎样的
WP
关于代码里的一些问题:
from threading import Thread
threading.Thread
self
@staticmethod
以上问题均已经fix,可以检查一下我的fix是否符合要求。如下是我没能fix的代码:
def playing(self): k = 0 try: while(1): reqPacket = _recv(self.socket) k += 1 IoThread(k, reqPacket) except KeyboardInterrupt: if player.role != 1: # 我这里假定1是狼人了,没找到各角色对应的序号,以后再改叭 pass else: packet = self._getBasePacket() packetSend = ChunckedData(1, **packet) packetSend.send(self.socket, ADDR) self.alive = False
if player.role != 1:这里的player是个什么变量?程序里没有任何地方出现player的声明。这里建议修改一下,添加player的定义或改写一下
if player.role != 1:
player
其实我觉得每个client可以在得知自己的身份之后把自己的身份保存成全局变量,这样可能是一个比较好的做法
如上
我设想的是,subthread只是client里ioThread的run函数,每次接包后新建一个I/O线程,整体是单个文件 player应该是self,这个类名叫Player,现在已经改成全局变量ROLE了
各角色对应的序号我注释在文件里了,或者也可以去找一下abstraction.py
首先一个问题是,client.py和client_subthread.py文件的关系是怎样的
WP
)关于代码里的一些问题:
from threading import Thread
导入却使用threading.Thread
的错误self
,静态方法需要在方法的前一行加上@staticmethod
标签以上问题均已经fix,可以检查一下我的fix是否符合要求。如下是我没能fix的代码:
if player.role != 1:
这里的player
是个什么变量?程序里没有任何地方出现player的声明。这里建议修改一下,添加player的定义或改写一下如上