SHIROのIchigoJam日記

マイコン「IchigoJam」(イチゴジャム)の電子工作とプログラミングをメインに

Life Latte

IchigoJamと同じ基板でJavaScriptのプログラミングができる「IchigoLatte」を試しています。
IchigoJam BASICの次の子ども向け教材として、とても面白いと思います。

IchigoLatte用のライフゲームを作ってみました。
JavaScriptのプログラミング練習、およびIchigoJamとの速度比較として作りました。
IchigoJamだと、1世代進めるのに約2分50秒〜3分かかりますが、IchigoLatteは30秒ほどです。5〜6倍の計算速度のようです。
ちなみにIchigoJam PCでも同様のライフゲームを作りましたが(日記)、そちらは1世代に1秒かかりません。

// *** Life Latte ***

var a=new Array(24);
var x,y;
var u,v;
var d,e;
var c,h,n,k,l,m;

// --- Life Start

while (1) {

cls();
m=0;

y=0;
while (y<24) {
x=0;
while (x<32) {
if )((x!=31)|(y!=23))( {
n=rnd(2);
log(chr(n));
l=l+n;
}
x=x+1;
}
y=y+1;
}

// --- Life Loop

k=0;

while )((l!=m)|(k!=1))( {

// Check

if (l!=m) {m=l;}
l=0;

y=0;
while (y<24) {
a[y]=0;
x=0;
while (x<32) {

c=0;
d=-1;
while (d<2) {
e=-1;
while (e<2) {

u=x+d;
v=y+e;
if (u<0) {u=31;}
if (u>31) {u=0;}
if (v<0) {v=23;}
if (v>23) {v=0;}
c=c+scr(u,v);

e=e+1;
}
d=d+1;
}
h=scr(x,y);
c=c-h;

n=0;
if (c==2) {n=h;}
if (c==3) {n=1;}
a[y]=a[y]|(n<0) {n=1;}
log(chr(n));
}
x=x+1;
}
y=y+1;
}

}

}