我在试着模拟一副牌被切掉所以我提示玩家选择一个介于1和32之间的数字(这个牌组中的牌数)存储在$cut_the_deck_number
变量中。
然后我需要设法把卡片(从那个号码移到牌堆的末端)移到牌堆的前面。
这段代码有点工作,但是不太好,当我只需要一个列表时,它会创建一个2D数组。
我需要$deck$deck = ["2 of diamonds", "5 of clubs", etc]
而不是$deck = [["2 of diamonds, "5 of clubs"], ["8 of spades", etc, etc]]
我知道还有其他方法,但它不起作用,因为我正在使用RUBY 1.8.7
def cuttingthedeck
bottomcut = $deck.pop($cut_the_deck_number)
topcut = $deck.pop($deck.length)
$deck.push(bottomcut)
$deck.push(topcut)
end
最佳答案
把两半加起来:
$deck = bottomcut + topcut
在Ruby中,添加数组相当于连接它们的元素:
irb(main):001:0> [1, 2, 3] + [3, 4, 5]
=> [1, 2, 3, 3, 4, 5]
关于ruby - 在Ruby中重新排列一维列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20645590/