我正在從C#教程做練習,我需要打印來自52張卡片的標準卡片中的每張卡片。 我有這樣的代碼:分配數字給撲克牌
for (int n = 2; n <= 14; n++)
{
for (int c = 1; c <= 4; c++)
Console.Write(n + " " + c + " ");
}
Console.ReadKey();
但我卡住,不知道如何與代表他們的西裝和職級替代號碼。 我應該使用循環和切換語句。
我正在從C#教程做練習,我需要打印來自52張卡片的標準卡片中的每張卡片。 我有這樣的代碼:分配數字給撲克牌
for (int n = 2; n <= 14; n++)
{
for (int c = 1; c <= 4; c++)
Console.Write(n + " " + c + " ");
}
Console.ReadKey();
但我卡住,不知道如何與代表他們的西裝和職級替代號碼。 我應該使用循環和切換語句。
使用循環和switch語句。你可以對這個更好的卡片和套裝名稱做一個變化。
for (int n = 2; n <= 14; n++)
{
for (int c = 1; c <= 4; c++)
{
switch (n)
{
case 11:
Console.Write("J" + " ");
break;
case 12:
Console.Write("Q" + " ");
break;
case 13:
Console.Write("K" + " ");
break;
case 14:
Console.Write("A" + " ");
break;
default:
Console.Write(n.ToString() + " ");
break;
}
switch (c)
{
case 1:
Console.WriteLine("H");
break;
case 2:
Console.WriteLine("D");
break;
case 3:
Console.WriteLine("S");
break;
case 4:
Console.WriteLine("C");
break;
default:
Console.WriteLine("?");
break;
}
}
}
Console.ReadKey();
謝謝你的解決方案!這正是我所期待的。 – paddy
你可以聲明兩個枚舉一個用於套裝,另一個用於行列,並通過它們循環。
public enum Suits { Hearts, Spades, Clubs, Diamonds }
public enum Ranks
{
Ace,
Two,
Three,
Four,
Five,
Six,
Seven,
Eight,
Nine,
Ten,
Jack,
Queen,
King
}
您可以創建兩個字符串數組,只是foreach
在兩個。
var suites = new [] { "Clubs", "Spades", "Hearts", "Diamonds" };
var ranks = new [] { "Deuce", "Three",...., "Ace"}
foreach(var suite in suites)
foreach(var rank in ranks)
Console.WriteLine(rank + " of " + suite);
僅供參考,一副牌包含52張 - 4套13個 – mhodges
是的,這就是爲什麼2-14代表卡和1-4的組 – paddy
他說,他只是在治療尖子高 – Jonesopolis