由于本人现无法调试,急等结果,多谢!
感谢有大家的陪伴!!! E-mail:bjdcbltx@
根据楼主给的,我做了些修改,程序逐步运行可以,但是一编译就不行了,帮忙看看
using System;
using System.Text;
using System.Collections;
namespace Jake
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
int hsf,pdf;
//输出提示
Console.WriteLine("please input the number of 花色array(4):");
//int huaase=int.Parse(Console.ReadLine());//数组的个数
Console.WriteLine("please input the number of 牌点array(13):");
//int paidian=int.Parse(Console.ReadLine());
Console.WriteLine("please input the number of 玩家array(4):");
//int wanjia=int.Parse(Console.ReadLine());
//初始数组
char[] hs =new char[] { 'c','d','h','s'};
//将10用T表示,因为字符数组中不能用'10'.
char[] pd =new char[] {'A','2','3','4','5','6','7','8','9','T','J','Q','K'};
//定义玩家数组
string[] wj=new string[] { "", "", "", ""};
//定义扑克牌的标志位,初始值设为false,当玩家已经抽取牌后,设为true.
bool[] flag=new bool[52];
//定义两个随机对象,hsflag表示花色;pdflag表示牌的大小.
Random hsflag=new Random();
Random pdflag=new Random();
//
// TODO: 在此处添加代码以启动应用程序
//
for (int x=0;x<4;x++)
{
for (int y=0;y<13;y++)
{
//取随机数字,hsf取[0,3];pdf取[0,12].
hsf=(int) hsflag.Next(4);
pdf=(int) pdflag.Next(13);
//如果flag为true,表示此张牌已经分发过.
if (flag[(hsf*13)+pdf])
{
//进入while,重新分发牌,直到分发的牌的flag为false为止(表示牌还没有被分发过).
while (flag[(hsf*13)+pdf])
{
hsf=(int) hsflag.Next(4);
pdf=(int) pdflag.Next(13);
}
//没有用过的新牌发给玩家,同时将此牌的flag标记为false.
wj[x]=wj[x]+pd[pdf]+hs[hsf]+".";
flag[hsf*13+pdf]=true;
}
//如果牌没有发过,直接将其发给玩家,同时将此牌的flag标记为false.
else
{
wj[x]=wj[x]+pd[pdf]+hs[hsf]+".";
flag[hsf*13+pdf]=true;
}
}
//将玩家以及手中的牌输出.
Console.WriteLine("玩家{0}:{1}",x+1,wj[x]);
}
}
}
}