C#扑克洗牌,52个不同数字,随机放到4个13个数的数组里去-(分享)

kingmax54212008 kingmax54212008 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
static void Main(string[] args)
{




List<int> pokerlist = new List<int>();
int index = 0;
int rdindex = 0;

for (int t = 1,s=0; t <= 52; t++,s++)
{
pokerlist.Add(t);
}
foreach (int i in pokerlist)
{
Console.WriteLine(" i= " + i);
}
for(int j=0; j< pokerlist.Count; j++)
{
Console.WriteLine(" j= " + j);
Console.WriteLine("pokerlist[" + j.ToString() + "]=; " + pokerlist[j].ToString());
}

Console.WriteLine("pokerlist length: " + pokerlist.Count);
Console.WriteLine("-----------------------Starting to shuffle-------------------------");

int[] out1 = new int[13];
int[] out2 = new int[13];
int[] out3 = new int[13];
int[] out4 = new int[13];

Random rd = new Random(pokerlist.Count);

while (pokerlist.Count > 0)
{

if (pokerlist.Count <= 52 && pokerlist.Count > 39)
{
rdindex = rd.Next(pokerlist.Count);
out1[index] = pokerlist[rdindex];
pokerlist.RemoveAt(rdindex);
index++;
if (index == 13)
{
index = 0;
}
}

if (pokerlist.Count <= 39 && pokerlist.Count > 26)
{
rdindex = rd.Next(pokerlist.Count);
out2[index] = pokerlist[rdindex];
pokerlist.RemoveAt(rdindex);
index++;
if (index == 13)
{
index = 0;
}
}
if (pokerlist.Count <= 26 && pokerlist.Count > 13)
{
rdindex = rd.Next(pokerlist.Count);
out3[index] = pokerlist[rdindex];
pokerlist.RemoveAt(rdindex);
index++;
if (index == 13)
{
index = 0;
}
}
if (pokerlist.Count <= 13 && pokerlist.Count > 0)
{
rdindex = rd.Next(pokerlist.Count);
out4[index] = pokerlist[rdindex];
pokerlist.RemoveAt(rdindex);
index++;
if (index == 13)
{
index = 0;
}
}
}
foreach (int k in out1)
{
Console.WriteLine("out1 :" + k.ToString());
}
foreach (int k in out2)
{
Console.WriteLine("out2 :" + k.ToString());
}
foreach (int k in out3)
{
Console.WriteLine("out3 :" + k.ToString());
}
foreach (int k in out4)
{
Console.WriteLine("out4 :" + k.ToString());
}

Console.WriteLine("-----------------------Finish shuffling----------------------------");
Console.ReadLine();

}
...全文

相关推荐

C#实现随机洗牌的方法

主要介绍了C#实现随机洗牌的方法,涉及随机数操作技巧,非常具有实用价值,需要的朋友可以参考下

weixin_38656395

C#编写:52张扑克牌随机洗牌算法详解

洗牌算法是游戏中常用的一种算法,它可以让一副牌重新排序,使得每张牌的位置变得随机。在这篇文章中,我们将学习如何使用C#语言实现52张扑克牌的随机洗牌算法,并附上完整的源代码。首先,我们需要定义一个包含52张牌的数组。现在,我们已经完成了52张扑克牌的随机洗牌算法。你可以使用这个算法来编写自己的扑克牌游戏,或者将其应用于其他需要随机排序的场景。现在,我们需要对这个数组进行随机洗牌。我们可以使用Random类来生成随机数,并将每张牌的位置随机交换。C#编写:52张扑克牌随机洗牌算法详解。

认真写代码i

扑克牌洗牌程序

利用vs2005开发的 c#开发的扑克牌洗牌程序

easylife2

扑克牌初始化洗牌发牌

详细讲解了扑克牌的洗牌,发牌的算法过程,简单易懂。

Hey丿Man丶

C#棋牌游戏,扑克洗牌、发牌算法源代码

摘要:C#源码,游戏开发,扑克发牌算法,棋牌游戏  拱猪扑克牌游戏的c#源代码,扑克洗牌,发牌算法是棋牌游戏中常用的基础算法,也是游戏开发人员需要熟悉的基算法之一。下面介绍一下该算法的一种实现方式。      洗牌和发牌模拟。      首先给扑克牌中每张牌设定一个编号,下面算法实现的编号规则如下:   红桃按照从小到大依次为:1-13   方块按照从小到大依次为:14-26   黑桃按照从小到大依次为:27-39   梅花按照从小到大依次为:40-52   小王为53,大王为54   算法实现如下:   首先按照以上编号规则初始化一个包含108个数字的数组每次随机从该数组中抽取一个数字,

weixin_38729022
评论 12
收藏 已收藏
分享
返回顶部
kingmax54212008
C# 111,129 成员 642,539 内容