【发布时间】:2016-11-04 11:45:24
【问题描述】:
我正在尝试模拟一种扑克游戏,在该游戏中,我需要将卡片分发给同时玩的“n”个玩家。我已经编写了一段简短的代码,它查看现有的牌组并向其他玩家发放卡片,但是这是非常硬编码的。我想知道是否有一种方法可以在不使用硬编码的情况下使用“循环来执行此活动,其中一个可以定义玩家的数量并且代码能够查看修改后的套牌并将新卡牌提供给其他玩家。这就是我写的远:
Player_1 <- cards[sample(nrow(cards), 2), ]
Player_1
Remaining_Deck <- sqldf('SELECT * FROM cards EXCEPT SELECT * FROM Player_1') # subset from t1 not in t2
Player_2 <- cards[sample(nrow(Remaining_Deck), 2), ]
Player_2
Remaining_Deck2 <- sqldf('SELECT * FROM Remaining_Deck EXCEPT SELECT * FROM Player_2') # subset from t1 not in t2
Player_3 <- cards[sample(nrow(Remaining_Deck2), 2), ]
Player_3
Remaining_Deck3 <- sqldf('SELECT * FROM Remaining_Deck2 EXCEPT SELECT * FROM Player_3') # subset from t1 not in t2
Player_1
Player_2
Player_3
【问题讨论】:
-
sample(cards)将洗牌,然后从索引 1 分配牌并将它们从牌组中移除。无需重新洗牌。
标签: r distribution shuffle poker