アットウィキロゴ

deat

import 'dart:math';
 
List<int>age=new List<int>(100);
List<int>life=new List<int>(100);
List<int>car=new List<int>(100);
List<int>pre=new List<int>(100);
List<int>k=new List<int>(1000);
int number;
 
void main() {
 
int s,sx,t;  
 
fast();
 
for(s=1;s<22;s++){
sx=age[s];
setx(s,sx,car[s]);
}
 
for(t=1;t<10;t++){
 
game sub=new game();
sub.life=life;
sub.age=age;
sub.car=car;
sub.number=number;
sub.k=k;
sub.makedata();
life=sub.life;
age=sub.age;
car=sub.car;
number=sub.number;
k=sub.k;
 
}
 
}
 
int count(int s,int sx){
int c1;
c1=6*s+sx;
return c1;
}
 
void setx(int s,int sx,int x1){
int n;
n=count(s,sx);
k[n]=x1;
}
 
int getx(int s,int sx){
int n,x1;
n=count(s,sx);
x1=k[n];
return x1;
}
 
void fast(){
 
  int s,sx,tx;
 
  number=21;
 
  tx=0; 
  for(s=1;s<7;s++){  
    for(sx=1;sx<s+1;sx++){
      tx=tx+1;
      age[tx]=7-s;
    }
  }  
 
 
  for(s=1;s<22;s++){  
    life[s]=100;
    car[s]=s;
  }
 
}
 
class select{
 
  List<int>age=new List<int>(100);
  List<int>life=new List<int>(100);
  List<int>car=new List<int>(100);
  List<int>pre=new List<int>(100);
  int number;
 
  void makedata(){
 
    int s;
    for(s=1;s<number+1;s++){
      pre[s]=0;
    }
 
    prime();
 
    for(s=2;s<16;s++){
    sec(s);
    }
 
  }
 
 
  void prime(){
 
    int s,sx,h,subnumber;
    List<int>subx=new List<int>(100);  
 
    sx=0;
    for(s=1;s<number+1;s++){  
      h=0;
      if(life[s]>50)h=h+1;
      if(pre[s]==0)h=h+1;
      if(h==2)sx=sx+1;
      if(h==2)subx[sx]=s;
    }  
    subnumber=sx;
 
    int maxnumber,sxs;
    sxs=0;
    maxnumber=999;
    for(s=1;s<subnumber+1;s++){
      sx=subx[s];
      if(car[sx]<maxnumber)sxs=sx;
      if(car[sx]<maxnumber)maxnumber=car[sx];
    }
 
    pre[sxs]=1;
 
 
  }
 
  void sec(int p1){
 
    int s,sx,h,subnumber;
    List<int>subx=new List<int>(100);  
 
    sx=0;
    for(s=1;s<number+1;s++){  
      h=0;
      if(life[s]>50)h=h+1;
      if(pre[s]==0)h=h+1;
      if(h==2)sx=sx+1;
      if(h==2)subx[sx]=s;
    }  
    subnumber=sx;
 
    int maxnumber,sxs;
    sxs=0;
    maxnumber=999;
    for(s=1;s<subnumber+1;s++){
      sx=subx[s];
      if(car[sx]<maxnumber)sxs=sx;
      if(car[sx]<maxnumber)maxnumber=car[sx];
    }
 
    pre[sxs]=p1;
 
 
  }
 
}
 
class game{
 
  List<int>age=new List<int>(100);
  List<int>life=new List<int>(100);
  List<int>car=new List<int>(100);
  List<int>pre=new List<int>(100);
  List<int>k=new List<int>(1000);
  int number;  
 
void makedata(){
 
  int s,sx;
 
  for(s=1;s<7;s++){
    death(s);
  }
 
 
 
 select sub2=new select();
 sub2.life=life;
 sub2.age=age;
 sub2.car=car;
 sub2.number=number;
 sub2.makedata();
 pre=sub2.pre;
 
 
 
  fresh();
 
  number=number+6;
 
  for(s=1;s<number+1;s++){
    age[s]=age[s]+1;
  }
 
  for(s=1;s<number+1;s++){
    car[s]=pre[s];
  }
 
  for(s=1;s<number+1;s++){
  sx=age[s];  
  if(life[s]>50)setx(s,sx,car[s]);
  }
 
 
}
 
 
void fresh(){
int s;
 
for(s=1;s<7;s++){
life[number+s]=100;
age[number+s]=0;
pre[number+s]=15+s;
}
 
}
 
 
void death(int a1){
 
  int s,h,subnumber,sx;
List<int>subx=new List<int>(100);  
 
sx=0;
for(s=1;s<number+1;s++){  
h=0;
if(life[s]>50)h=h+1;
if(age[s]==a1)h=h+1;
if(h==2)sx=sx+1;
if(h==2)subx[sx]=s;
}  
subnumber=sx;
 
int maxnumber,sxs;
sxs=0;
maxnumber=0;
for(s=1;s<subnumber+1;s++){
sx=subx[s];
if(car[sx]>maxnumber)sxs=sx;
if(car[sx]>maxnumber)maxnumber=car[sx];
}
life[sxs]=0;
 
 
}
 
void move(int p1){
 
int s,sx,h,subnumber;
List<int>subx=new List<int>(100);  
 
sx=0;
for(s=1;s<number+1;s++){  
h=0;
if(life[s]>50)h=h+1;
if(pre[s]==0)h=h+1;
if(h==2)sx=sx+1;
if(h==2)subx[sx]=s;
}  
subnumber=sx;
 
int maxnumber,sxs;
sxs=0;
maxnumber=999;
for(s=1;s<subnumber+1;s++){
sx=subx[s];
if(car[sx]<maxnumber)sxs=sx;
if(car[sx]<maxnumber)maxnumber=car[sx];
}
 
pre[sxs]=p1;
 
 
}
 
int count(int s,int sx){
int c1;
c1=6*s+sx;
return c1;
}
 
void setx(int s,int sx,int x1){
int n;
n=count(s,sx);
k[n]=x1;
}
 
int getx(int s,int sx){
int n,x1;
n=count(s,sx);
x1=k[n];
return x1;
}
 
 
 
}
最終更新:2013年11月21日 01:22