我正在尝试使用数组模拟多甲板绘图。发完第一张牌后,如何从牌组数组中删除这个随机数(“p1”),这样我就可以拥有一个包含 51 个元素的数组,而无需选择第一个元素?
到目前为止我就是这样做的
Dim deck(1 To 52) As Variant
Dim p1 As Integer
For i = 1 To 52
deck(i) = i
Next
p1 = Int((UBound(deck) * Rnd) + 1)
最佳答案
我可以用下面的代码解决它,但我仍然想知道是否有更简单的方法
Sub preflop()
Dim deck() As Integer
Dim p1 As Integer
For i = 1 To 52
ReDim Preserve deck(1 To i) As Integer
deck(i) = i
Next
p1 = Int((UBound(deck) * Rnd) + 1)
For i = LBound(deck) To UBound(deck)
If deck(i) = p1 Then
For j = i To UBound(deck) - 1
deck(j) = deck(j + 1)
Next
End If
Next
ReDim Preserve deck(1 To UBound(deck) - 1) As Integer
End Sub
关于excel - 从整数数组中删除元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58478317/