[問題] 如何切割陣列與排序?

作者: 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