package base;
public class cycle {
double[] p=new double[7];
int point;
int[] base=new int[5];
int out;
int makedata(){
point=0;
int inn;
for(inn=1;inn<10;inn++){
play();
}
return point;
}
void play(){
out=0;
int s;
for(s=1;s<4;s++){
base[s]=0;
}
while(out<3){
hit();
}
}
void one(){
if(base[3]==1)point=point+1;
if(base[3]==1)base[3]=0;
if(base[2]==1)base[3]=1;
if(base[2]==1)base[2]=0;
if(base[1]==1)base[2]=1;
if(base[1]==1)base[1]=0;
base[1]=1;
}
void two(){
if(base[3]==1)point=point+1;
if(base[3]==1)base[3]=0;
if(base[2]==1)point=point+1;
if(base[2]==1)base[2]=0;
if(base[1]==1)base[3]=1;
if(base[1]==1)base[1]=0;
base[2]=1;
}
void three(){
if(base[3]==1)point=point+1;
if(base[3]==1)base[3]=0;
if(base[2]==1)point=point+1;
if(base[2]==1)base[2]=0;
if(base[1]==1)point=point+1;;
if(base[1]==1)base[1]=0;
base[3]=1;
}
void four(){
if(base[3]==1)point=point+1;
if(base[3]==1)base[3]=0;
if(base[2]==1)point=point+1;
if(base[2]==1)base[2]=0;
if(base[1]==1)point=point+1;;
if(base[1]==1)base[1]=0;
point=point+1;
}
void ball(){
base[1]=base[1]+1;
if(base[1]==2)base[2]=base[2]+1;
if(base[1]==2)base[1]=1;
if(base[2]==2)base[3]=base[3]+1;
if(base[2]==2)base[2]=1;
if(base[3]==2)point=point+1;;
if(base[3]==2)base[3]=1;
}
void hit(){
double r1=Math.random();
double[] q=new double[6];
int s;
q[0]=0;
for(s=1;s<6;s++){
q[s]=q[s-1]+p[s];
}
int sxs=1;
for(s=1;s<6;s++){
if(r1>q[s])sxs=s+1;
}
if(sxs==1)one();
if(sxs==2)two();
if(sxs==3)three();
if(sxs==4)four();
if(sxs==5)ball();
if(sxs==6)out=out+1;
}
}
最終更新:2017年10月03日 04:52