(1)52张扑克牌,四种花色(红桃、黑桃、方块和梅花),随机发牌给四个人。
(2)最后将四个人的扑克牌包括花色打印在控制台上。
其中:
**************************************************************************************************
[csharp] view
plaincopy
-
using
System; -
using
System.Collections.Generic; -
using
System.Collections; -
using
System.Linq; -
using
System.Text; -
using
System.Threading.Tasks; -
//用C#模拟实现扑克牌发牌、排序程序。
-
//(1)52张扑克牌,四种花色(红桃、黑桃、方块和梅花),随机发牌给四个人。
-
//(2)最后将四个人的扑克牌包括花色打印在控制台上。
-
//其中:
-
//
花色和点数用枚举类型实现 -
//
每张扑克牌用结构实现 -
//提示:可以用ArrayList初始化52张扑克牌,然后从这个链表中随机取牌发给四个玩家,直到链表为空为止。
-
-
namespace
Test5 -
{
-
enum Color //花色{HongTao=-1,HeiTao=-2,MeiHua=-3,FangPian=-4} -
enum Point //点数{A,two,three,four,five,six,seven,eight,nine,ten,J,Q,K} -
struct Poker -
{//扑克 -
private string p1,p2; -
public Poker( stringp1, stringp2) -
{ -
// TODO: Complete member initialization -
this.p1 = p1; -
this.p2 = p2; -
} -
public void Printp() -
{ -
Console.Write("({0},{1}) " ,this.p1,this.p2); -
} -
} -
class Program -
{ -
-
static void Main( string[]args) -
{ -
Poker po = new Poker(); -
ArrayList myPoker=new ArrayList(); //实例化一个ArrayList存放所有的扑克牌 -
ArrayList Person1 = new ArrayList(); -
ArrayList Person2 = new ArrayList(); -
ArrayList Person3 = new ArrayList(); -
ArrayList Person4 = new ArrayList(); -
Random r = new Random(); -
for ( inti = -4; i <= -1; i++) -
{//外循环初始化扑克的花色 -
for ( intj = 0; j <= 12; j++) -
{//外层循环初始化扑克的点数 -
myPoker.Add(new Poker( -
Enum.GetName(typeof(Color),i), -
Enum.GetName(typeof(Point),j) -
)); -
} -
}//for循环结束,52张扑克牌已经生成 -
Console.WriteLine("打印所有的扑克牌:"); -
for ( inti = 0; i < 52; i++) -
{//打印52张生成的扑克牌 -
Poker poAll = (Poker)myPoker[i]; -
poAll.Printp(); -
} -
//开始发牌,一个人一个人的发,每发一张牌得从myPoker中RemoveAt掉扑克牌,Count数减小;第一个人Add到一张牌。 -
for ( inti = 0; i < 13; i++) -
{ -
int te = r.Next(0,myPoker.Count); -
Person1.Add(myPoker[te]); -
myPoker.RemoveAt(te); -
} -
for ( inti = 0; i < 13; i++) -
{ -
int te = r.Next(0, myPoker.Count); -
Person2.Add(myPoker[te]); -
myPoker.RemoveAt(te); -
} -
for ( inti = 0; i < 13; i++) -
{ -
int te = r.Next(0, myPoker.Count); -
Person3.Add(myPoker[te]); -
myPoker.RemoveAt(te); -
} -
for ( inti = 0; i < 13; i++) -
{ -
int te = r.Next(0, myPoker.Count); -
Person4.Add(myPoker[te]); -
myPoker.RemoveAt(te); -
} -
-
Console.WriteLine(); -
Console.WriteLine("打印第一个人的扑克牌:"); -
for ( inti = 0; i < 13;i++ ) -
{ -
Poker po1 = (Poker)Person1[i]; -
po1.Printp(); -
} -
Console.WriteLine(); -
Console.WriteLine("打印第二个人的扑克牌:"); -
for ( inti = 0; i < 13; i++) -
{ -
Poker po2 = (Poker)Person2[i]; -
po2.Printp(); -
} -
Console.WriteLine(); -
Console.WriteLine("打印第三个人的扑克牌:"); -
for ( inti = 0; i < 13; i++) -
{ -
Poker po3 = (Poker)Person3[i]; -
po3.Printp(); -
} -
Console.WriteLine(); -
Console.WriteLine("打印第四个人的扑克牌:"); -
for ( inti = 0; i < 13; i++) -
{ -
Poker po4 = (Poker)Person4[i]; -
po4.Printp(); -
} -
Console.WriteLine(); -
} -
} -
}
作者:gcy77 发表于2014-3-12 15:16:24 原文链接
阅读:86 评论:0 查看评论