class ex{
ax:number[]=new Array();
ay:number[]=new Array();
bx:number[]=new Array();
by:number[]=new Array();
b:number[]=new Array();
a:number[]=new Array();
faststep():void{
var s:number;
for(s=1;s<11;s++){
this.a[s]=100;
this.b[s]=100;
this.ay[s]=1;
this.ax[s]=s;
this.by[s]=10;
this.bx[s]=s;
}
}
move_a():void{
var s,y1,ch:number;
for(s=1;s<11;s++){
y1=this.ay[s]+1;
if(y1>10)y1=10;
ch=this.check_a(this.ax[s],y1);
if(ch<50)this.ay[s]=y1;
}
}
check_a(px:number,py:number):number{
var sx,y1,ch,h:number;
ch=0;
for(sx=1;sx<11;sx++){
h=0;
if(this.bx[sx]==px)h=h+1;
if(this.by[sx]==py)h=h+1;
if(this.b[sx]>50)h=h+1;
if(h==3)ch=100;
}
return ch;
}
move_b():void{
var s,y1,ch:number;
for(s=1;s<11;s++){
y1=this.by[s]-1;
if(y1<1)y1=1;
ch=this.check_b(this.bx[s],y1);
if(ch<50)this.by[s]=y1;
}
}
check_b(px:number,py:number):number{
var sx,y1,ch,h:number;
ch=0;
for(sx=1;sx<11;sx++){
h=0;
if(this.ax[sx]==px)h=h+1;
if(this.ay[sx]==py)h=h+1;
if(this.a[sx]>50)h=h+1;
if(h==3)ch=100;
}
return ch;
}
fight_a(s:number):void{
var y1,y2,e1:number;
y1=this.ay[s];
y2=this.by[s];
e1=(y1-y2)*(y1-y2);
if(this.a[s]<50)e1=400;
if(this.b[s]<50)e1=400;
var z;
z=Math.random();
if(e1<2){
if(z>0.5)this.a[s]=0;
if(z<0.5)this.b[s]=0;
}
}
fight_b(s:number):void{
var y1,y2,e1:number;
y1=this.ay[s];
y2=this.by[s];
e1=(y1-y2)*(y1-y2);
if(this.b[s]<50)e1=400;
if(this.a[s]<50)e1=400;
var z;
z=Math.random();
if(e1<2){
if(z>0.5)this.a[s]=0;
if(z<0.5)this.b[s]=0;
}
}
}
var ax=new Array();
var ay=new Array();
var bx=new Array();
var by=new Array();
var a=new Array();
var b=new Array();
function sample() {
var timer;
var delay = 1000;
var sub=new ex();
sub.faststep();
a=sub.a;
b=sub.b;
ax=sub.ax;
bx=sub.bx;
ay=sub.ay;
by=sub.by;
var loop = function () {
var sub2=new ex();
sub2.a=a;
sub2.b=b;
sub2.ax=ax;
sub2.bx=bx;
sub2.ay=ay;
sub2.by=by;
sub2.move_a();
a=sub2.a;
b=sub2.b;
ax=sub2.ax;
bx=sub2.bx;
ay=sub2.ay;
by=sub2.by;
for(s=1;s<11;s++){
var sub21=new ex();
sub21.a=a;
sub21.b=b;
sub21.ax=ax;
sub21.bx=bx;
sub21.ay=ay;
sub21.by=by;
sub21.fight_a(s);
b=sub21.b;
}
var sub3=new ex();
sub3.a=a;
sub3.b=b;
sub3.ax=ax;
sub3.bx=bx;
sub3.ay=ay;
sub3.by=by;
sub3.move_b();
a=sub3.a;
b=sub3.b;
ax=sub3.ax;
bx=sub3.bx;
ay=sub3.ay;
by=sub3.by;
for(s=1;s<11;s++){
var sub22=new ex();
sub22.a=a;
sub22.b=b;
sub22.ax=ax;
sub22.bx=bx;
sub22.ay=ay;
sub22.by=by;
sub22.fight_b(s);
a=sub22.a;
}
paint();
clearTimeout(timer);
timer = setTimeout(loop, delay);
}
loop();
}
function paint(){
var sub3=new svgpaint();
str="<svg width=\"500\" height=\"500\">";
for(s=1;s<11;s++){
x1=ax[s];
y1=ay[s];
if(a[s]>50)str=str+sub3.rect(50*x1-50,500-50*y1,50,50,"red");
}
for(s=1;s<11;s++){
x1=bx[s];
y1=by[s];
if(b[s]>50)str=str+sub3.rect(50*x1-50,500-50*y1,50,50,"blue");
}
str=str+"</svg>";
$("#memo").html(str);
}
<!DOCTYPE html>
<html>
<head>
<title>戦争ゲームの練習</title>
<meta charset="UTF-8">
<link rel="stylesheet" href="https://storage.googleapis.com/code.getmdl.io/1.0.6/material.indigo-pink.min.css">
<script src="https://storage.googleapis.com/code.getmdl.io/1.0.6/material.min.js"></script>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons">
<script src="sample.js"></script>
<script src="jquery.js"></script>
<script src="svgpaint.js"></script>
<script src="app.js"></script>
</head>
<body onload="sample()">
<div class="mdl-layout mdl-js-layout mdl-layout--fixed-header">
<header class="mdl-layout__header">
<div class="mdl-layout__header-row">
<span class="mdl-layout-title">戦争ゲームの練習</span>
</div>
<div class="mdl-layout__tab-bar mdl-js-ripple-effect">
<a href="#s1" class="mdl-layout__tab is-active">メイン</a>
<a href="#s2" class="mdl-layout__tab">ルール</a>
</div>
</header>
<div class="mdl-layout__drawer">
<span class="mdl-layout-title">タイトル</span>
</div>
<main class="mdl-layout__content">
<section class="mdl-layout__tab-panel is-active" id="s1">
<div class="page-content">
<p id="memo"></p>
</div>
</section>
<section class="mdl-layout__tab-panel" id="s2">
<div class="page-content">練習</div>
</section>
</main>
<footer class="mdl-mini-footer">
<div class="mdl-mini-footer__left-section">
<div class="mdl-logo">戦争ゲームの練習</div>
<ul class="mdl-mini-footer__link-list">
<li><a href="http://osomatsusan.com/">コード</a></li>
<li><a href="http://osomatsusan.com/">ルール</a></li>
</ul>
</div>
</footer>
</div>
</body>
</html>
最終更新:2016年11月17日 12:28