我正在尋找1x1在線遊戲的配對算法。像往常一樣,玩家必須不是按照他們的技能或水平進行匹配,而是通過一些特定的過濾器來匹配。每個玩家發送請求,在那裏他指定了一些參數集(通常是2-4個參數)。如果指定了某個參數,那麼玩家只能與那些已經發送該參數的玩家匹配的值完全相同的值,或者沒有指定此參數的玩家。一套過濾器的配對算法
我需要這個算法是線程安全的,最好是快速的。如果它能夠運行3-4甚至更多的參數,那將是非常好的,但是我正在尋找只有一個參數的算法(在我的情況下它是遊戲賭注)。另外,我會很欣賞如何在我的服務器平臺上實現或改進此算法的想法 - ASP.NET
。
UPD
我面臨的一個問題,更是要找到匹配不能被用戶發送請求後,正確的,因爲如果其他用戶完成了前面的匹配之前將要求執行,他們不會甚至可能匹配。所以看起來匹配查找應該按計劃開始,我需要幫助如何優化它,以及如何選擇時間間隔來開始新的匹配查找。
[你有什麼嘗試?](http://mattgemmell.com/2008/12/08/what-have-you-tried/) – alestanis
所以,你希望我們爲你算出這個算法,而你沒有嘗試過什麼? –
@alestanis我還沒有嘗試過一些特定的算法。目前,我正在創建一些傳入請求的電子表格,當新的請求到來時,只需循環檢查指定參數的值即可。但是,我的algroithm不是線程安全的,並且在某些情況下(如果請求幾乎在同一時間收到),它會收到2個可匹配的請求,但會將它們留在電子表格中。 –