为什么不做成洗牌而做成摆牌dim i as integer
dim j as integer
dim intN as integer
dim intCard(51) as integer
dim intS(3,12) as integer
randomize
for i=0 to 51
Card(i)=i
next
intN=51
‘摆牌
for i=0 to 3
for j=0 to 12
intS(i,j)=Card(Cint(intN*rnd))'有点问题??
intN=intN-1
next j
next i’然后利用取整取余判断牌的数值与花色
大致这样,你在想想
dim j as integer
dim intN as integer
dim intCard(51) as integer
dim intS(3,12) as integer
randomize
for i=0 to 51
Card(i)=i
next
intN=51
‘摆牌
for i=0 to 3
for j=0 to 12
intS(i,j)=Card(Cint(intN*rnd))'有点问题??
intN=intN-1
next j
next i’然后利用取整取余判断牌的数值与花色
大致这样,你在想想
解决方案 »
- VB中调用了Excel,此时如果用户打开一个Excel文件,出问题
- 数据格式
- 麻烦高手帮我看看,下面哪出错了。。
- 工作一年以后的困惑
- VB:安装的问题--遇到的问题比较麻烦,请入--在线等!!!!!!!!
- listbox的multiSelect的多选属性为真时,我选择了多个项,怎样把选择的多个项的值得到啊
- 我用两个winsock控件 服务器端出现的问题 "当前状态操作无效"
- 在 TreeView 中如何让checkbox不是在整个树中都出现,而在需要的地方才出现?
- 急:如何控制最小化、最大化和正常窗体?如何得到屏幕的分辨率?
- 怎样使子窗体在父窗体的屏幕中心显示 并且是设计时的大小
- 这条语句怎么总报错呢!!
- ado的大问题?分值送上...
windygirl(风间沧月) :
说具体些,请明示,好吗?
Dim iFirst As Long, iLast As Long
If helper Is Nothing Then Set helper = New CSortHelper
iFirst = LBound(av): iLast = UBound(av)
' Randomize array
Dim i As Long, v As Variant, iRnd As Long
For i = iLast To iFirst + 1 Step -1
' Swap random element with last element
iRnd = MRandom.Random(iFirst, i)
helper.Swap av(i), av(iRnd)
Next
End Sub上面的ISortHelper自己定义一个吧,有个空的Swap方法就行,自己根据意思写一个不难。
跟楼上那位说的算法是一样的。
d.Add "a1", "红桃A"
d.Add "a2", "红桃2"
'.......
dd.Add "d13", "黑桃k"
'dd.Add "xx", "大怪"
'dd.Add "yy", "小怪"
Randomize (Now)
Dim temp As Long
Dim group(4, 13) As String '牌发到这里
Dim m As Long
Dim n As Long
Dim i As Long
For m = 4 To 1 Step -1
For n = 13 To 1 Step -1
i = (m - 1) * 13 + n
temp = Int(Rnd * i) + 1
group(m, n) = d.Item(temp).Text
d.Remove temp
Next
Next
Set d = Nothing
'可扩展到有大小怪的情况