• 新浪微博:
  • 按键公众号 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:03-18

按键精灵安卓版
立即下载

软件版本:3.6.5
软件大小:46.2M
更新时间:03-02

按键精灵iOS版
立即下载

软件版本:1.7.6
软件大小:29.2M
更新时间:12-06

最新企业版UiBot
立即下载

软件版本:3.3
软件大小:282M
更新时间:08-06

快捷导航

登录 后使用快捷导航
没有帐号? 注册

发新话题 回复该主题

按键精灵实现的扑克牌发牌和排序算法 [复制链接]

1#

您所在的用户组无法下载或查看附件



pai=扑克牌发牌
TracePrint "地主牌:"
TracePrint 扑克牌排序(Mid(pai, 1, 20))//返回前20张牌
TracePrint "上家牌:"
TracePrint 扑克牌排序(Mid(pai, 21, 17))//返回中间17张牌
TracePrint "下家牌:"
TracePrint 扑克牌排序(Mid(pai, 38, 17))//返回最后17张牌
Function 扑克牌排序(s)
Dim arr//扑克牌数组
arr=StringToChar(s)//字符串转数组
Dim i, j, temp, n//i和j循环变量,tmp交换变量,n是扑克牌数组的上标
Dim sy//索引的简写,表示排序方式的索引,扑克牌规则就是这样的,
sy= StringToChar("34567890JQKA2*&")//构建索引数组
Dim aa,bb//aa表示当前数组元素在索引的哪个位置,bb表示下一个数组元素,通过这个比大小来判断交换不交换
n = UBound(arr)//优化性能,一次取到上标就行了
//下面的二行代码比较难解释,参考冒泡排序
For i = n To 1 Step -1
For j = 0 To n - 1
//从索引中查找当前排序和下一个排序元素在索引中的位置
For k = 0 To UBound(sy)
If sy(k) = arr(j) Then//当前元素arr(j)
aa = k//找到的位置保存在aa里
End If
If sy(k) = arr(j + 1) Then//当前的下一个元素arr(j+1)
bb = k//找到的位置保存在bb里
End If
Next
//如果当前位置的牌比下一个位置的牌大,所以交换
If aa > bb Then
//交换二个变量
temp = arr(j)
arr(j) = arr(j + 1)
arr(j + 1) = temp
End If
Next
Next
扑克牌排序=CharToString(arr)//返回排序好的字符串
End Function
Function 扑克牌发牌()
Dim tmp, rndub//tmp是交换的变量,rndub是一个随机数,每次都随机生成,范围0 - len(string)+1
Dim a//char数组,保存一副牌
a = StringToChar("AAAA222233334444555566667777888899990000JJJJQQQQKKKK*&")
For i = 0 To UBound(a)//跑一遍数组
Randomize//初始化随机数
rndub = Int(Rnd() * (UBound(a) + 1))//返回一个随机的数,这里是固定范围0 - len(string)+1,也就是0-53中间随机取一个数
tmp = a(i)//当前数组元素将和随机一个数组元素交换,先保存现在的
a(i) = a(rndub)//把当前元素和当前数组随机一个元素交换
a(rndub) = tmp//被交换的元素变成当前
//用这个方法也可以生成1-9不重复字符串,比如578941236这种每个数字只出现一次的字符串
Next
扑克牌发牌=CharToString(a)//返回一个字符串,把数组变成字符串
End Function
Function CharToString(Char)//数组变字符串
Dim s//返回的字符串
For Each i In Char//遍历数组
s=s+i//拼接
Next
CharToString=s//返回字符串
End Function
Function StringToChar(S)//字符串转数组
//比如"RDS5"转换为a(0)=R,a(1)=D,a(2)=S,a(3)=5这种的东西
REDim a(len(s)-1)//定义数组,数组大小为字符串长度。因为数组是0开始的,所以减1
For i = 0 To len(S) - 1//循环 字符串长度-1次
a(i) = mid(S, i + 1, 1)//数组赋值
//mid函数, mid(字符串,从多少位开始,返回多少个数)
Next
StringToChar=a
End Function

2#

来学习一下。!!!!

3#

学习一上一在

安卓IOS脚本制,脚本交流群294358660。另有阴阳师IOS,安卓免费脚本。
4#

看一看学一学

5#

来学习一下。!!!!

6#

感谢分享

承接iOS/Android工作室脚本
>>点击我填写定制<<
7#

这个是自己做游戏么。。。

8#

签到学习

9#

签到签到

10#

来学习一下

11#

太厉害了地方

12#

精灵实现的扑克牌发

13#

发牌和排序算法

14#

惹我生气了吗老婆

15#

按键精灵实现的扑克牌发牌和排序算法

啦啦啦,啦啦啦,我是卖报的小行家。。。
16#

看看学习

17#

、、、、、、、、、、、、、、、、、、、真的额可以吗

18#

排序算法

19#

来学习一下。!!!!

20#

看一看学一学

发新话题 回复该主题