アットウィキロゴ

mayx0

<!DOCTYPE html>
<html lang="ja">
    <head>
        <meta charset="utf-8" />
        <script src="sample.js"></script>
        <script src="jquery.js"></script>
<script src="svgpaint.js"></script>
<script src="app.js"></script>
        <title>パズル</title>
    </head>
    <body onload="sample()">
   <p id="memo"></p>
   </body>
</html>
 
var postx = new Array();
var fam = new Array();
var number_sh;
var pos = new Array();
var age= new Array();
var life= new Array();
var delta= new Array();
 
function sample(){
 
 
 
 
    var sub = new ex();
    sub.faststep();
    fam = sub.fam;
    number_sh = sub.number_sh;
    postx = sub.postx;
    age = sub.age;
    pos = sub.pos;
    life = sub.life;
 
    for (s = 1; s <501;s++ ){
     delta[s]=new Array();   
    }
 
    for (s = 1; s <501;s++ ){
      for(sx=1;sx<7;sx++){
        delta[s][sx] = ""; 
    }}
 
    for (s = 1; s < number_sh+1; s++) {
        a1 = age[s];
        delta[s][a1] = pos[s];
    }
 
        var timer;
 
 
var delay = 5000;
 
var loop = function () {
 
    var sub2 = new ex();
    sub2.fam = fam;
    sub2.number_sh = number_sh;
    sub2.age = age;
    sub2.life = life;
    sub2.pos = pos;
    sub2.game();
    fam = sub2.fam;
    life = sub2.life;
    pos = sub2.pos;
    age = sub2.age;
    number_sh = sub2.number_sh;
 
    var sub3 = new ex();
    sub3.delta = delta;
    sub3.age = age;
    sub3.number_sh = number_sh;
    sub3.pos = pos;
    sub3.life = life;
    sub3.report();
    delta = sub3.delta;
 
    paint();
 
    clearTimeout(timer);
    timer = setTimeout(loop, delay);
}
 
loop();
 
 
 
}
 
 
function paint(){
 
var str;
 
str="<table>";
for(s=1;s<number_sh+1;s++){
     str = str + "<tr>";
        str = str + "<td>";
        str = str + fam[s];
        str = str + "</td>";
    for(sx=1;sx<7;sx++){
        str = str + "<td>";
        n =delta[s][sx];
        if (n == "") n = 0;
        str = str + postx[n];
        str = str + "</td>";
 
    }
     str = str + "</tr>";
    }
 
str=str+"</table>";   
 
$("#memo").html(str);    
 
 
}
 
 
 
 class ex{
 
fam:string[]=new Array();
postx:string[]=new Array();
age:number[]=new Array();
pos:number[]=new Array();
number_sh:number;
life:number[]=new Array();
delta:number[][]=new Array();
 
report():void{
 
var s;
 
 
 
 
 
var a1,s,sx:number;
 
 
for(s=1;s<this.number_sh+1;s++){
a1=this.age[s];
if(this.life[s]>50)this.delta[s][a1]=this.pos[s];
}
 
}
 
 
game():void{
 
var a1:number;
 
 
for(a1=1;a1<7;a1++){
this.death(a1);
}
 
this.change();
 
this.rep();
 
this.fresh();
 
 
}
 
 
fresh():void{
 
var s:number;
 
 for(s=1;s<this.number_sh+1;s++){
this.age[s]=this.age[s]+1;
}
 
 
 
for(s=this.number_sh+1;s<this.number_sh+7;s++){
this.age[s]=1;
this.life[s]=100;
}
 
 
var v:number;
 
v=15;    
for(s=this.number_sh+1;s<this.number_sh+7;s++){
v=v+1;
this.pos[s]=v;
}   
 
this.fam[this.number_sh+1]="紀伊";
this.fam[this.number_sh+2]="一橋";
this.fam[this.number_sh+3]="北条";
this.fam[this.number_sh+4]="柳生";
this.fam[this.number_sh+5]="西園寺";
this.fam[this.number_sh+6]="近衛";
 
this.number_sh=this.number_sh+6;
 
 
}
 
 
 
rep():void{
 
 
    var point:any[]=new Array();
 var s,sx:number;
 
    for(s=1;s<12;s++){
    point[s]=new Array();    
    }
 
     for(s=1;s<12;s++){
    for(sx=1;sx<16;sx++){
        point[s][sx]=1;
        }}
 
    /*将軍*/
 
    point[2][1]=1000;
 
    /*大老*/
 
    point[4][2]=1000;
    point[5][2]=1000;
 
     /*駿河*/
 
    point[1][3]=1000;
 
    /*藩主*/
 
    point[3][4]=1000;
    point[6][4]=500;
    point[7][4]=500;
 
    point[4][5]=1000;
    point[8][5]=500;
    point[9][5]=500;
 
    point[5][6]=1000;
    point[10][6]=500;
    point[11][6]=500;
 
    /*老中*/
 
    point[6][7]=1000;
    point[8][7]=1000;
    point[10][7]=1000;
 
    point[7][8]=1000;
    point[9][8]=1000;
    point[11][8]=1000;
 
    /*守護*/
 
    point[6][9]=1000;
    point[7][9]=1000;
    point[8][10]=1000;
    point[9][10]=1000;
    point[10][11]=1000;
    point[11][11]=1000;
 
    /*奉行*/
 
    point[6][12]=1000;
    point[8][12]=1000;
    point[10][12]=1000;
    point[6][13]=1000;
    point[8][13]=1000;
    point[10][13]=1000;
 
 
    /*奉行*/
 
    point[7][14]=1000;
    point[9][14]=1000;
    point[11][14]=1000;
    point[7][15]=1000;
    point[9][15]=1000;
    point[11][15]=1000;
 
    var ch:number[]=new Array();
 
    for(s=1;s<this.number_sh+1;s++){
    ch[s]=0;
    }
 
    var maxpoint,r,f1,h,p1:number;
 
 
 
 
for(r=1;r<16;r++){
maxpoint=-999;
sx=0;
for(s=1;s<this.number_sh+1;s++){
p1=22-this.pos[s];
f1=1;
if(this.fam[s]=="松平")f1=1;
if(this.fam[s]=="徳川")f1=2;
if(this.fam[s]=="水戸")f1=3;
if(this.fam[s]=="平家")f1=4;
if(this.fam[s]=="藤原")f1=5;
if(this.fam[s]=="紀伊")f1=6;
if(this.fam[s]=="一橋")f1=7;
if(this.fam[s]=="北条")f1=8;
if(this.fam[s]=="柳生")f1=9;
if(this.fam[s]=="西園寺")f1=10;
if(this.fam[s]=="近衛")f1=11;
p1=p1+point[f1][r];
if(this.life[s]<50)p1=0;
h=0;
if(p1>maxpoint)h=h+1;
if(ch[s]<50)h=h+1;
if(h==2)maxpoint=p1;
if(h==2)sx=s;
}        
ch[sx]=100;
this.pos[sx]=r;
}    
 
 
 
}
 
 
 
 
change():void{
 
 
var maxp:number;
var sx:number;
var s:number;
var p1:number;    
 
maxp=0;
    sx=0;
for(s=1;s<this.number_sh+1;s++){
p1=22-this.pos[s];
if(this.fam[s]=="松平")p1=1000+p1;
if(this.fam[s]=="徳川")p1=500+p1;
if(this.fam[s]=="平家")p1=500+p1;
if(this.life[s]<50)p1=0;
if(p1>maxp)sx=s;
if(p1>maxp)maxp=p1;
}
 
this.fam[sx]="松平";
 
 maxp=0;
    sx=0;
for(s=1;s<this.number_sh+1;s++){
p1=22-this.pos[s];
if(this.fam[s]=="徳川")p1=1000+p1;
if(this.fam[s]=="水戸")p1=500+p1;
if(this.fam[s]=="藤原")p1=250+p1;
if(this.life[s]<50)p1=0;
if(p1>maxp)sx=s;
if(p1>maxp)maxp=p1;
}
 
this.fam[sx]="徳川";
 
maxp=0;
sx=0;
for(s=1;s<this.number_sh+1;s++){
p1=22-this.pos[s];
if(this.fam[s]=="平家")p1=1000+p1;
if(this.fam[s]=="北条")p1=500+p1;
if(this.fam[s]=="柳生")p1=500+p1;
if(this.life[s]<50)p1=0;
if(p1>maxp)sx=s;
if(p1>maxp)maxp=p1;
}
 
this.fam[sx]="平家";
 
maxp=0;
sx=0;
for(s=1;s<this.number_sh+1;s++){
p1=22-this.pos[s];
if(this.fam[s]=="藤原")p1=1000+p1;
if(this.fam[s]=="近衛")p1=500+p1;
if(this.fam[s]=="西園寺")p1=500+p1;
if(this.life[s]<50)p1=0;
if(p1>maxp)sx=s;
if(p1>maxp)maxp=p1;
}
 
this.fam[sx]="藤原";
 
 
maxp=0;
sx=0;
for(s=1;s<this.number_sh+1;s++){
p1=22-this.pos[s];
if(this.fam[s]=="水戸")p1=1000+p1;
if(this.fam[s]=="一橋")p1=500+p1;
if(this.fam[s]=="紀伊")p1=500+p1;
if(this.life[s]<50)p1=0;
if(p1>maxp)sx=s;
if(p1>maxp)maxp=p1;
}
 
this.fam[sx]="水戸";
 
 
 
 
}
 
 
death(aa:number):void{
 
var xx:number[]=new Array();
 
var n:number;
var s:number;
var h:number;
 
n=0;
for(s=1;s<this.number_sh+1;s++){
h=0;
if(this.life[s]>50)h=h+1;
if(this.age[s]==aa)h=h+1;    
if(h==2)n=n+1;
if(h==2)xx[n]=s;    
}
 
var m1:number;
var m2:number;
var m3:number;
 
m1=n*Math.random();
m2=Math.floor(m1)+1;
m3=xx[m2];    
this.life[m3]=0;    
 
}
 
 
 
faststep():void{
 
this.number_sh=21;
 
this.fam[1]="徳川";
this.fam[2]="平家";
this.fam[3]="松平";
this.fam[4]="水戸";
this.fam[5]="柳生";
this.fam[6]="藤原";
this.fam[7]="西園寺";
this.fam[8]="一橋";
this.fam[9]="紀伊";
this.fam[10]="北条";
this.fam[11]="近衛";
this.fam[12]="北条";
this.fam[13]="紀伊";
this.fam[14]="近衛";
this.fam[15]="柳生";
this.fam[16]="一橋";
this.fam[17]="紀伊";
this.fam[18]="北条";
this.fam[19]="柳生";
this.fam[20]="近衛";
this.fam[21]="西園寺";
 
 
this.postx[0]="";    
this.postx[1]="将軍";
this.postx[2]="大老";
this.postx[3]="駿河城代";
this.postx[4]="美濃藩主";
this.postx[5]="伊勢藩主";
this.postx[6]="信濃藩主";
this.postx[7]="老中";
this.postx[8]="駿河老中";
this.postx[9]="美濃守護";
this.postx[10]="伊勢守護";
this.postx[11]="信濃守護";
this.postx[12]="勘定奉行";
this.postx[13]="町奉行";
this.postx[14]="寺社奉行 ";
this.postx[15]="外国奉行";
this.postx[16]="美濃代官";
this.postx[17]="大垣代官";
this.postx[18]="伊勢代官";
this.postx[19]="松坂代官";
this.postx[20]="信濃代官";
this.postx[21]="松本代官"; 
 
var s,sx,tx:number;
 
for(s=1;s<22;s++){
this.pos[s]=s;
this.life[s]=100;
}
 
 
tx=0;    
for(s=1;s<7;s++){
for(sx=1;sx<s+1;sx++){
tx=tx+1;
this.age[tx]=7-s;    
}
}
 
 
}
 
}
 
最終更新:2016年11月16日 07:24