Unity 网络斗地主 牌的一些算法
在这儿说一下,我的项目是用svn的方式,上传在
https://v2.svnspot.com/18666451713.doudizhu这个svn上,大家可以下载TortoiseSVN工具,CheckOut到本地即可,但是提醒大家切勿提交!在检出的时候,要输入用户名和密码,只需要到www.code.svnspot.com上注册用户即可!输入这个帐号和密码即可进入!
这一篇说一下 算法!顺便讲解一些基本程序!
1.随机生成牌!
其中每张牌都是用code值的,A,2,3,4....10,J,Q,K 用 0.1.....12表示
花色用 方块(值0) 黑桃(值1) 红桃(值2) 梅花(值3) 分开
那么每一个的code值是 花型的值*13+实际值=code
比如 红桃4的code值=2*13+3=29;方块4的code值=0*13+3=3;
大王和小王例外考虑,小王的code值是52,大王的code值是53!
int[] data = new int[54];//初始化一个整型的data数组
//赋予初始值 for循环 从i=0开始,运行54次,对data数组赋值 为1.2.--54
for (int i = 0; i < 54; i++)
{
data[i] = i;
}
//牌交换算法 打乱顺序
for (int i = 0; i < 54; i++)
{
// Random.Range min 0 max 53
//注意Random.Range算法是 介于min和max之间,但是不会出现max这个值!
//随机出现 数组索引
int t1 = Random.Range(0, 54);
int t2 = Random.Range(0, 54);
//交换了 索引处的两个值
int temp=data[t1];
int data1 = data[t1];
int data2 = data[t2];
data[t1] = data2;
data[t2] = temp;
}
这样就ok了!