[解决办法] 随机性太高了,感觉根本没办法守擂,打擂也要靠一点随机,抛砖引玉了 public class zhangenter : Drunkard { private Random random; int[] betterFinger = new int[] { 0, 0, 5, 5 }; int[] betterSum = new int[] { 0, 5, 5, 10 }; int lastIndex = 0;
public zhangenter() { random = new Random(); }
public override void Come(out int AFinger, out int ASum) { AFinger = betterFinger[lastIndex]; ASum = betterSum[lastIndex]; }
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult, int ASelfFinger, int ASelfSum, Result ASelfResult) { if (ASelfResult != Result.Win) { int newIndex; while ((newIndex = random.Next(4)) != lastIndex) lastIndex = newIndex; } } } [解决办法] 留名 自勉 [解决办法] 是个策略模式 [解决办法] mark [解决办法] 呵呵,支持个,收藏了 [解决办法] up 有空了研究研究……找个人学划拳去 [解决办法] 恩恩~~~收藏先! [解决办法] 没时间,mark一下 [解决办法] 看完了代码,一个字,爽, 能问下LZ,
public class Drunkery<T1, T2> where T1 : Drunkard, new() where T2 : Drunkard, new()
这个是做什么吗?在自己的编码过程中怎么使用? [解决办法] 很有意思勒~下班了再来看。
[解决办法] 如果庄家纯随机,闲家怎么赢? [解决办法] 还不到这个层次只能支持了 [解决办法]
[解决办法] 标记学习中 [解决办法] mark [解决办法] 看完代码,很爽
LZ能讲解一下
public class Drunkery<T1, T2> where T1 : Drunkard, new() where T2 : Drunkard, new()
public class Zswang三号 : Drunkard { private Random random; private int lessFour; private int lassFour; public Zswang三号() { random = new Random(); lessFour = 0; lassFour = 0; } private int Finger() { int finger = 0; if(lessFour>=lassFour) finger = random.Next(5 + 1); //0-10 if(lessFour< lassFour) finger = 5; return finger; } public override void Come(out int AFinger, out int ASum) { AFinger = Finger(); //0-10 if(AFinger<=4) ASum = 4; else ASum = 10; } public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult, int ASelfFinger, int ASelfSum, Result ASelfResult) { /* 这机器人关心比赛结果 */ if(ASelfResult == Result.Win) { if(ASelfSum==4) lessFour++; else lassFour++; } } } [解决办法] 有意思啊,中午的时候研究一下 [解决办法] jf [解决办法] 路过有分,接分 [解决办法] mark [解决办法] 路过,接分 [解决办法]
C# code
public class Yuwenge : Drunkard{ private Random random; public Zswang二号() { random = new Random(); } public override void Come(out int AFinger, out int ASum) { AFinger = 2; ASum = 2 + random.Next(99)%5+1; } public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult, int ASelfFinger, int ASelfSum, Result ASelfResult) { /* 这机器人不关心比赛结果 */ }}
public override void Come(out int AFinger, out int ASum) { AFinger=random.Next(6); if (AFinger==5) { ASum = random.Next(10 + 1); } else ASum = 5; } [解决办法] 记号一下 [解决办法]
C# code
public class Linxu一号 : Drunkard { public override void Come(out int AFinger, out int ASum) { ASum = 1; AFinger = 1; } public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult, int ASelfFinger, int ASelfSum, Result ASelfResult) { /* 这机器人也不关心比赛结果 */ } } [解决办法]