[问题] 如何切割阵列与排序?

楼主: DavidJam (平安又有钱才是福)   2017-05-21 21:41:35
新手刚学C#
有些问题想请教板上高手
string e = "玩家A = ", k = "玩家B = ", g = "玩家C = ", u = "玩家D = ";
int[] a = new int[53];
Random rnd = new Random();
for(int i=1;i<a.Length;i++)
{
a[i] = rnd.Next(1, a.Length);
for (int j = 0; j < i; j++)
{
while (a[j] == a[i])
{
j = 0;
a[i] = rnd.Next(1, a.Length);
}
}
Console.Write(a[i] + " ");
if (i % 13 == 0)
{
Console.WriteLine();
//第二位玩家
Console.Write(k);
k = "";
}
if (i % 26 == 0)
{
//第三位玩家
Console.Write(g);
g = "";
}
if (i % 39 == 0)
{
//第四位玩家
Console.Write(u);
}
}
我想将阵列a[i]切成4份,但不知道该用什么指令?
然后想将4份阵列各自排序,由小排到大,不知道该怎么写?我用
Array.Sort(a)会变成a阵列全部排序,不知道该怎样才能把它分
成4段各自排序?
扑克牌的4种花色不知道要怎么加?
我只上过5堂C#的课,所知有限,只能想到这里,希望有高手可以指点。
如果违反板规我会自删,感谢!
作者: s89227 (Kei)   2017-05-21 21:58:00
你的变量命名可以给他一个有意义的名字吗QQ目前粗略看起来,这是想洗牌后发牌给四人,并帮他们拿到的手牌各自按照牌的大小排序,是这样吗?
楼主: DavidJam (平安又有钱才是福)   2017-05-21 22:37:00
嗯嗯,像s大说的那样,想了一整天想不出来。
作者: Litfal (Litfal)   2017-05-21 22:55:00
一些毛病、初学者就不吐槽了,不过至少变量命名习惯请养好分四份的话,你要宣告4个13张的阵列,然后跑循环用洗好牌的a把他们填满阿。虽然可以用LINQ简单解决,不过初学者先练好循环和阵列吧
作者: MOONY135 (谈无欲)   2017-05-21 23:07:00
我的话会直接乱洗一个阵列 然后拆4份给其他玩家
楼主: DavidJam (平安又有钱才是福)   2017-05-21 23:39:00
M大说的就是我想要的,只是我不知道怎么拆?喔喔!谢谢L大和其他大大的建议。可是我不知道怎么把洗好的阵列,塞到其他阵列。然后变量名称是课堂上的老师这样教的,我尽量改,谢谢各位。
作者: vi000246 (Vi)   2017-05-21 23:53:00
你可以google =>C# split array然后找个你看得懂的方法
作者: TameFoxx (foxx)   2017-05-22 12:24:00
Array.Coby(a,起点,玩家,起点,长度);分四份的动作建议在循环外面作再来就是建议思考一下怎么更有效率的洗牌
楼主: DavidJam (平安又有钱才是福)   2017-05-22 22:20:00
谢谢楼上各位的建议。

Links booklink

Contact Us: admin [ a t ] ucptt.com