|
#3楼 得分:0回复于:2008-04-23 21:29:32
- C# code
class 守擂三号 : Drunkard //yatobiaf二号
{
private Random random;
public 守擂三号()
{
random = new Random();
}
public override void Come(out int AFinger, out int ASum)
{
AFinger = random.Next(6);
ASum = 5;
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
}
}
class Linxu四号 : Drunkard
{
private Random random;
public Linxu四号()
{
random = new Random();
}
public override void Come(out int AFinger, out int ASum)
{
AFinger = 5;
ASum = random.Next(5, 10);
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
}
}
public class Zswang三号 : Drunkard
{
private Random random;
private bool is守擂三号 = true; // 对手是不是守擂三号?
public Zswang三号()
{
random = new Random(); // 因为是伪随机,一毫秒内创建的随机种子是一样的
}
public override void Come(out int AFinger, out int ASum)
{
if (is守擂三号)
{
#region 计算守擂三号出的数字
int vFinger = random.Next(6); // 这里可以猜测他是否用随机
#endregion 计算守擂三号出的数字
if (vFinger == 0)
{
AFinger = 1;
ASum = 1;
}
else
{
AFinger = 5;
ASum = vFinger + AFinger;
}
}
else
{
AFinger = random.Next(6); // 骂我吧,内核就是:“守擂三号”
ASum = 5;
}
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
if (is守擂三号) // 擂主如是is守擂三号
{
if (ASelfResult != Result.Win) // 输了?那对手就不是守擂三号了
{
random = new Random(); // 重新生成随机数
}
}
}
}
public class nik_amis : Drunkard
{
public override void Come(out int AFinger, out int ASum)
{
Random r = new Random(76);
int[] f = new int[] { 5, 3, 2, 4, 1, 0 };
AFinger = f[r.Next(0, 10) / 2];
ASum = r.Next(0, 2) * 5 + AFinger;
if (r.Next(11) > 9) ASum = r.Next(1, 6) + AFinger;
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
}
}
class linxu五号 : Drunkard
{
private Random random;
public linxu五号()
{
random = new Random();
}
public override void Come(out int AFinger, out int ASum)
{
AFinger = random.Next(random.Next(7));
ASum = 5;
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
}
}
class 专打Zswang三号 : Drunkard
{
private Random random;
public 专打Zswang三号()
{
random = new Random();
}
public override void Come(out int AFinger, out int ASum)
{
AFinger = 5 - random.Next(6);
if (AFinger == 5)
ASum = 6;
else
ASum = 5 + AFinger;
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
}
}
public class yunfeng007二号 : Drunkard
{
private Random random;
public yunfeng007二号()
{
random = new Random();
Finger = 0;
}
private static int Finger;
public override void Come(out int AFinger, out int ASum)
{
AFinger = Finger;
if (AFinger <= 4)
ASum = 4;
else ASum = 10;
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
Finger = NextFinger(ASelfResult, ASelfFinger, AOtherFinger);
}
private int NextFinger(Result SelfResult, int SelfFinger, int OtherFinger)
{
int finger = 0;
if (SelfResult == Result.Win)
{
finger = SelfFinger;
}
if (SelfResult == Result.Lost || SelfResult == Result.Unknown || SelfResult == Result.Dogfall)
{
finger = OtherFinger + random.Next(4 - OtherFinger + 1);
}
return finger;
}
}
class 专打Zlinxu五号 : Drunkard
{
private Random random;
public 专打Zlinxu五号()
{
random = new Random();
}
public override void Come(out int AFinger, out int ASum)
{
AFinger = random.Next(6);
ASum = AFinger;
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
}
}
class 专打Zlinxu四号 : Drunkard
{
private Random random;
public 专打Zlinxu四号()
{
random = new Random();
}
public override void Come(out int AFinger, out int ASum)
{
AFinger = random.Next(6);
ASum = AFinger + 5;
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
}
}
class 擂主4 : Drunkard
{
private Random random;
public 擂主4()
{
random = new Random();
}
public override void Come(out int AFinger, out int ASum)
{
for (int i = 0; i < random.Next(10); i++)
{
AFinger = random.Next(6);
}
AFinger = random.Next(6);
ASum = 5;
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
}
}
public class yunfeng007二号210楼 : Drunkard
{
private Random random;
public yunfeng007二号210楼()
{
random = new Random();
Finger = 0;
}
private static int Finger;
public override void Come(out int AFinger, out int ASum)
{
AFinger = Finger;
if (AFinger <= 4)
ASum = 4;
else ASum = 10;
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
Finger = NextFinger(ASelfResult, ASelfFinger, AOtherFinger);
}
private void Count(int OtherFinger)
{
}
private int NextFinger(Result SelfResult, int SelfFinger, int OtherFinger)
{
int finger = 0;
if (SelfResult == Result.Win)
{
finger = SelfFinger;
}
if (SelfResult == Result.Lost || SelfResult == Result.Unknown || SelfResult == Result.Dogfall)
{
finger = OtherFinger + random.Next(4 - OtherFinger + 1);
}
return finger;
}
}
public class 剪刀一号 : Drunkard
{
private Random random;
public 剪刀一号()
{
random = new Random();
}
public override void Come(out int AFinger, out int ASum)
{
AFinger = 5;
ASum = random.Next(6, 11);
}
public override void Outcome(int AOtherFinger, int AOtherSum, Result AOtherResult,
int ASelfFinger, int ASelfSum, Result ASelfResult)
{
}
}
|
|
|