<!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