作者DavidJam (平安又有钱才是福)
看板C_Sharp
标题[问题] 如何切割阵列与排序?
时间Sun May 21 21:41:35 2017
新手刚学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#的课,所知有限,只能想到这里,希望有高手可以指点。
如果违反板规我会自删,感谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 27.242.103.187
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1495374099.A.776.html
1F:推 s89227: 你的变数命名可以给他一个有意义的名字吗QQ 05/21 21:58
2F:→ s89227: 目前粗略看起来,这是想洗牌後发牌给四人,并帮他们拿到 05/21 22:01
3F:→ s89227: 的手牌各自按照牌的大小排序,是这样吗? 05/21 22:01
4F:→ DavidJam: 嗯嗯,像s大说的那样,想了一整天想不出来。 05/21 22:37
5F:→ Litfal: 一些毛病、初学者就不吐槽了,不过至少变数命名习惯请养好 05/21 22:55
6F:→ Litfal: 分四份的话,你要宣告4个13张的阵列,然後跑回圈用洗好牌 05/21 23:01
7F:→ Litfal: 的a把他们填满阿。虽然可以用LINQ简单解决,不过初学者先 05/21 23:02
8F:→ Litfal: 练好回圈和阵列吧 05/21 23:02
9F:→ MOONY135: 我的话会直接乱洗一个阵列 然後拆4份给其他玩家 05/21 23:07
10F:→ DavidJam: M大说的就是我想要的,只是我不知道怎麽拆? 05/21 23:39
11F:→ DavidJam: 喔喔!谢谢L大和其他大大的建议。 05/21 23:40
12F:→ DavidJam: 可是我不知道怎麽把洗好的阵列,塞到其他阵列。 05/21 23:41
13F:→ DavidJam: 然後变数名称是课堂上的老师这样教的,我尽量改,谢谢各 05/21 23:46
14F:→ DavidJam: 位。 05/21 23:46
15F:推 vi000246: 你可以google =>C# split array 05/21 23:53
16F:→ vi000246: 然後找个你看得懂的方法 05/21 23:53
17F:推 TameFoxx: Array.Coby(a,起点,玩家,起点,长度); 05/22 12:24
18F:推 TameFoxx: 分四份的动作建议在回圈外面作 05/22 12:32
19F:→ TameFoxx: 再来就是建议思考一下怎麽更有效率的洗牌 05/22 12:32
20F:→ DavidJam: 谢谢楼上各位的建议。 05/22 22:20