一个超级发牌洗牌程序。算法有点小问题。无聊的人来看看。
smhy 2004-07-11 06:50:22 using System;
namespace shuffle
{
class Cshuffle
{
static void shuffle(int[][] wDeck)
{
int row,column;
Random r=new Random();
for(int card=1;card<=52;card++)
{
do
{
row=Convert.ToInt32(r.NextDouble()*3);
column=Convert.ToInt32(r.NextDouble()*12);
}while(wDeck[row][column]!=0);
wDeck[row][column]=card;
}
}
static void deal(int[][] wDeck,string[] sFace,string[] wsuit)
{
for(int card=1;card<=52;card++)
for(int row=0;row<=3;row++)
for(int column=0;column<=12;column++)
if(wDeck[row][column]==card)
{
Console.WriteLine("{0} {1} Card:{2}",wsuit[row],sFace[column],card);
}
}
static void Main(string[] args)
{
string[] suit=new string[]
{"红心","黑桃","方块","梅花"};
string[] face=new string[]
{"一","二","三","四","五","六","七","八","九","十","J ","Q ","K "};
int[][] deck=new int[4][];
for(int x=0;x<deck.Length;x++)
deck[x]=new int[13];
shuffle(deck);
deal(deck,face,suit);
Console.ReadLine();
}
}
}
控制台应用程序。
现要求在发牌的方法里改成给4个人轮流发牌。
这些代码可能有问题,改来改去的自己都快晕了。
已经不对CSDN报太大的希望了。
晚上来看。