【发布时间】:2020-09-13 17:27:00
【问题描述】:
我一直在尝试用 pygame 制作多人游戏。实际上,我在正确断开播放器时遇到了很多麻烦。
每当我关闭一个客户端时,之前打开的客户端就不再工作了。我认为问题出在服务器文件中,但我不太确定如何解决它。这是服务器错误:
line 50, in threaded_client
del players[player]
IndexError: list assignment index out of range
这是我的代码my code
提前致谢!
【问题讨论】:
-
问题是你在
players列表中通过他们的位置(索引)来称呼他们。这是一个问题,因为当您从列表中删除玩家时,列表的长度会改变。因此,下次访问该列表时,索引player具有不同的含义,并且会像本例一样导致超出范围的错误。 -
谢谢!现在我只是在玩家断开连接时将他们的价值设置为 None 。我确信可能有更好的方法来做到这一点......但它有效
标签: python multithreading sockets networking pygame