一个超级发牌洗牌程序。算法有点小问题。无聊的人来看看。

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报太大的希望了。
晚上来看。
...全文
183 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
capter 2004-07-13
  • 打赏
  • 举报
回复
还是楼上的高见,干吗做些吃力不讨好的事,在发牌的时候随机就可以了!!!!!
再说,没有注释,看起来真的好麻烦!
lilionline 2004-07-13
  • 打赏
  • 举报
回复
朋友,我的意见是:有必要在发牌之前将排的顺序先打乱一次吗?
你发牌的时候随机发不就完了?
seasoftware 2004-07-13
  • 打赏
  • 举报
回复
这段代码好像在哪见过,应该是北大青鸟.net上机部分的课后题吧?
我朋友也问我过相同的问题
smhy 2004-07-12
  • 打赏
  • 举报
回复
没注意,主题怎么少了两个字。(超级简单的)

这点东西怎么加注释?

一个洗牌,一个发牌,一个Main。

以前用VB开发大一点的东西都会带注释的,但是这个.......

楼上朋友,看的明白就说说你的算法,看不明白就不要乱说
lilionline 2004-07-11
  • 打赏
  • 举报
回复
另外,希望你不要随便在自己的帖子上加上“超级”两个字,让人觉得多自卑的!
lilionline 2004-07-11
  • 打赏
  • 举报
回复
朋友,你的代码没有一句注释,你叫我们为何要花时间去研究呢?你要知道,好的习惯比好的代码重要啊
smhy 2004-07-11
  • 打赏
  • 举报
回复
难吗?

不难,自己写出来了。

结果还是没人回答。

真的都够忙啊~~~

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧