2014-05-11 35 views
1

我正在用python實現遊戲服務器。 GameServer類包含多個遊戲實例,每個遊戲實例擁有多個玩家。我試圖找出最佳的數據結構來使用。有一個功能可以接收所有傳入的數據,並且需要在遊戲中找到玩家並更新信息。如何在Python中構造遊戲實例數據

目前,GameServer有一組GameInstances,GameInstance有一組玩家。這要求我遍歷每一個遊戲和玩家來找到正確的遊戲,我不認爲這是實現它的最好方式,因爲它必須每秒運行數百次。

傳入數據有一個連接(從中接收數據)和消息。這意味着我爲他們班級中的每個玩家存儲連接,以便我可以將消息發回給特定的玩家。我無法保留每個玩家連接的字典,因爲他們必須按遊戲實例進行分組。請幫助我瞭解構建此的最有效方法。

回答

2

目前,GameServer有一組GameInstances,GameInstance有一組玩家。這要求我遍歷每一個遊戲和玩家來找到正確的遊戲,我不認爲這是實現它的最好方式,因爲它必須每秒運行數百次。

你說得對!雖然我會回答你的具體問題,但你應該做的是閱讀有關數據結構。每個工作程序員至少對最常見的數據結構及其性能特徵有基本的瞭解是至關重要的。

根據您對問題的描述,您需要在標識每個遊戲的密鑰和描述它的對象之間維護一個可能使用散列表的映射。