package mj;
public class pro {
int[] cardx=new int[500];
int[] cardy=new int[500];
int number;
String[] name=new String[500];
int[] rank=new int[500];
int[] pi=new int[500];
int step,tab;
public static void main(String[] args) {
pro test=new pro();
}
pro(){
faststep sub=new faststep();
sub.makedata();
number=sub.number;
cardx=sub.cardx;
cardy=sub.cardy;
name=sub.name;
select sub2=new select();
sub2.number=number;
sub2.makedata();
rank=sub2.rank;
pi=sub2.pi;
int s;
for(s=1;s<number+1;s++){
if(pi[s]==1)System.out.println(name[s]);
}
step=52;
tab=4;
int mode=0;
while(mode<50){
step=step+1;
tab=tab+1;
if(tab>4)tab=1;
if(step>number-1)mode=100;
getpi();
box();
System.out.println(step+","+tab);
}
}
void getpi(){
int tx;
for(tx=1;tx<number+1;tx++){
if(rank[tx]==step)pi[tx]=tab;
}
}
void box(){
int tx;
double[] point=new double[500];
for(tx=1;tx<number+1;tx++){
point[tx]=0;
if(pi[tx]==tab)point[tx]=Math.random();
}
int sxs;
double maxv;
maxv=0;
sxs=0;
for(tx=1;tx<number+1;tx++){
if(point[tx]>maxv)sxs=tx;
if(point[tx]>maxv)maxv=point[tx];
}
point[sxs]=6;
}
}
package mj;
public class faststep {
int[] cardx=new int[500];
int[] cardy=new int[500];
int number;
int s1,s2,s3;
String[] name=new String[500];
void makedata(){
number=0;
for(s1=1;s1<4;s1++){
for(s2=1;s2<10;s2++){
for(s3=1;s3<5;s3++){
number=number+1;
cardx[number]=s1;
cardy[number]=s2;
}}}
s1=4;
for(s2=1;s2<5;s2++){
for(s3=1;s3<5;s3++){
number=number+1;
cardx[number]=s1;
cardy[number]=s2;
}}
s1=5;
for(s2=1;s2<4;s2++){
for(s3=1;s3<5;s3++){
number=number+1;
cardx[number]=s1;
cardy[number]=s2;
}}
int s,h;
for(s=1;s<number+1;s++){
h=0;
if(cardx[s]==1)name[s]=cardy[s]+"マン";
if(cardx[s]==2)name[s]=cardy[s]+"ピン";
if(cardx[s]==3)name[s]=cardy[s]+"ソーズ";
}
for(s=1;s<number+1;s++){
h=0;
if(cardx[s]==4)h=h+1;
if(cardy[s]==1)h=h+1;
if(h==2)name[s]="東";
h=0;
if(cardx[s]==4)h=h+1;
if(cardy[s]==2)h=h+1;
if(h==2)name[s]="南";
h=0;
if(cardx[s]==4)h=h+1;
if(cardy[s]==3)h=h+1;
if(h==2)name[s]="西";
h=0;
if(cardx[s]==4)h=h+1;
if(cardy[s]==4)h=h+1;
if(h==2)name[s]="北";
}
for(s=1;s<number+1;s++){
h=0;
if(cardx[s]==5)h=h+1;
if(cardy[s]==1)h=h+1;
if(h==2)name[s]="白";
h=0;
if(cardx[s]==5)h=h+1;
if(cardy[s]==2)h=h+1;
if(h==2)name[s]="発";
h=0;
if(cardx[s]==5)h=h+1;
if(cardy[s]==3)h=h+1;
if(h==2)name[s]="中";
}
}
}
package mj;
public class select {
int number,s;
double[] point=new double[500];
int[] rank=new int[500];
int[] pi=new int[500];
void makedata(){
for(s=1;s<number+1;s++){
point[s]=Math.random();
}
ranking();
int s,sx,h;
for(s=1;s<number+1;s++){
pi[s]=5;
}
for(s=1;s<number+1;s++){
h=0;
if(rank[s]<14)h=h+1;
if(rank[s]>0)h=h+1;
if(h==2)pi[s]=1;
}
for(s=1;s<number+1;s++){
h=0;
if(rank[s]<27)h=h+1;
if(rank[s]>13)h=h+1;
if(h==2)pi[s]=2;
}
for(s=1;s<number+1;s++){
h=0;
if(rank[s]<40)h=h+1;
if(rank[s]>26)h=h+1;
if(h==2)pi[s]=3;
}
for(s=1;s<number+1;s++){
h=0;
if(rank[s]<53)h=h+1;
if(rank[s]>39)h=h+1;
if(h==2)pi[s]=4;
}
}
void ranking(){
int r,s,sx,h;
int[] ch=new int[201];
double maxu;
int t;
for(r=1;r<number+1;r++){
t=0;
sx=0;
maxu=-999;
for(s=1;s<number+1;s++){
h=0;
if(point[s]>maxu)h=h+1;
if(ch[s]<50)h=h+1;
if(h==2)maxu=point[s];
if(h==2)sx=s;
}
rank[sx]=r;
ch[sx]=100;
}
}
}
最終更新:2015年04月13日 15:21