谁用java给我编一个赌博类的小测试程序

来源:百度知道 编辑:UC知道 时间:2024/06/08 11:10:13
规则:在挣双散子中,过关赌博(pass line bet),是按如下程序执行的。第一轮:郑两颗6面的散子,而初郑为2·3, 或12 点则自动输了。初郑达到7点或11点就自动赢了,如果初郑4.5.6.8.9或10,则把他们作为点数相加,玩家继续郑散子,直到郑出7或达到该点数。如果先郑到该点,则玩家赢得赌博:如果玩家先郑出一个7,则玩家输了。

使用上述规则但不用人工输入。程序不需要赌金,而是应该计算玩家是输还是赢,程序应该先模拟两颗双面散子,并计算它们之间的和,添加一个for循环,使程序能玩10000次。添加一些计算器,用于统计玩家赢得次数和输的次数。10000场游戏结束后。计算玩家赢的几率,[即(Wvins/Losses)],并输出该值,从长远观点看来,谁将赢得大多数游戏,你?还是赌场?
肯定是随机数啦?不然怎么叫赌博。

这题似乎在head first java上看到过中间的一部分,我再写一个,要有不少的类。

import java.util.Random;

class 散子{
private Random gen;
public 散子(){
this.gen = new Random();
}
public int getRandomInt(){
return gen.nextInt(6)+1;
}
}

public class 双散子 {
private 散子 s1, s2;
private int n1, n2, sum;
public 双散子(){
this.s1 = new 散子();
this.s2 = new 散子();
}
private void 掷散子(){
this.n1 = this.s1.getRandomInt();
this.n2 = this.s2.getRandomInt();
this.sum = this.n1 + this.n2;
}
public int getN1(){ //没用到,但还是写了
return this.n1;
}
public int getN2(){ //没用到,但还是写了
return this.n2;
}
public int getSum(){ //没用到,但还是写了
return this.sum;
}
public String getResultat(){
掷散子();
if(sum==2 || sum==3 || sum==12) return "no";
else if (sum==7 || sum==11) return "yes";
else {
int n