注:我根據ajrwhite的答案做JavaScript代碼。希望它能幫助別人。確定撲克桌位置 - Sit'n圍棋比賽
鏈接:http://codepen.io/eMineiro/pen/EKrNBe
打開codepen控制檯看到工作的例子。
在撲克中,我們根據經銷商定義玩家位置。就像這樣:
藍:小盲注和大盲注位置
綠色:晚與經銷商/晚位置
黃色:中等倉位
粉紅色:早期位置
因此,假設這兩個數組:
players:[1,2,3,4,5,6,7,8,9,10];
positions:["bb","sb","btn","late","medium","medium","medium","early","early","early"];
在這種情況下, 「PLAYER1」 是 「大盲注」, 「player2」 是 「小盲注」, 「player3」 是「按鈕「.....
當changePositions(經銷商)被調用時,我想排序玩家陣列。例如:
changePosition(10); //means that "player10" now is the new Dealer
而且結果應該是:
players:[2,1,10,9,8,7,6,5,4,3];
positions:["bb","sb","btn","late","medium","medium","medium","early","early","early"];
在遊戲過程中,玩家會被淘汰。所以我有一個函數可以排除「位置數組」中的「最後位置」並排除播放器。然後我需要再次調用changePosition(X),其中X是「player10」(實際經銷商)左側的下一個未消除的玩家。
實施例爲消除 「播放器1」,新的陣列應該是:
players:[2,10,9,8,7,6,5,4,3];
positions:["bb","sb","btn","late","medium","medium","medium","early","early"];
我需要再次調用changePosition(X),以確定新的位置,在這種情況下,X = 2,因爲「player2 「是實際莊家左邊的 」Player10的「
changePosition(2);
,並且會導致:
players:[4,3,2,10,9,8,7,6,5];
positions:["bb","sb","btn","late","medium","medium","medium","early","early"];
當玩家被淘汰時,我如何找到新的經銷商?
注:我創建了一個名爲changeNextDealer()功能。負面指數不是問題,因爲下一個經銷商是順時針的。它在代碼筆鏈接中。
dealerArrayPosition-1; //But if bigBlind and smallBlind was eliminated simultaneously I get a negative position.
我該如何映射負指數-1一樣,到最後的位置。或-2到LastPosition-1?有一個快速的方法嗎?
注意:這個問題仍然沒有答案,但不是本次討論的主要問題。我想一個會在一個分開的帖子中問。
我該怎麼做changePosition(代理商)功能?
我已經嘗試了這麼多,但無法弄清楚如何做到這一點。
注意:我創建了一個名爲changePosition()的函數。它在codepen鏈接中。
所以你已經實現了'changePosition'? – migg
這是主要問題。我正在努力。對我來說最困難的是這個事實,那就是「圈子名單」,而且我被負面立場困擾着。我正在做「如果條件」來檢查位置是否定的。如果位置是負數,我得到這個:「bbPosition = playersInTable.length + bbPosition」當bbPosition <0時 –
然後顯示你的代碼不工作。 – migg