迷路

IchigoJam BASIC ではシリーズ化しつつある 迷路 が

IchigoLatte(JavaScript)に登場です。

 

ms . すると迷路を自動生成します。

生成後左上にキャラクター、右下にはゴールの旗があります。

キャラクターを 矢印キー で移動させて、

右下のゴールへ移動して下さい。

ゴールにたどり着くとプログラムを終了して lash へ戻ります。

 

子供向けを想定しているので、迷路は簡易な生成で

ゴールまでの未知後が何経路か存在しているようにしています。

 

キャラクター表示に chr() を用いているので、

chr() が対応している IchigoLatte 0.9 以降になっていますが、

これを変えると古いバージョンでも動作可能です。

 

プログラムを BASIC と見比べてみるのも良いでしょう。

 


//Maze

var x=0,y=0;

cls();

while(x<31)
{
 lc(x,0);
 log(chr(0x8f));
 lc(x,22);
 log(chr(0x8f));
 x=x+1;
}

while(y<22)
{
 lc(0,y);
 log(chr(0x8f));
 lc(30,y);
 log(chr(0x8f));
 y=y+1;
}

x=2;
while(x<29)
{
 y=2;
 while(y<21)
 {
  lc(x,y);
  log(chr(0x8f));
  var r=rnd(3);
  var a=x-(r==0)+(r==1);
  var b=y-(r==2)+(r==3);
  lc(a,b);
  log(chr(0x8f));
  y=y+2;
 }
 x=x+2;
}

lc(29,21);
log(chr(242));

x=1;
y=1;

lc(x,y);
log(chr(249));

while((x<29)+(y<21))
{
 var a=x;
 var b=y;

 while((a==x)*(b==y))
 {
  var k=inkey();
  a=x-(k==28)+(k==29);
  b=y-(k==30)+(k==31);
  if(scr(a,b)==0x8f)
  {
   a=x;
   b=y;
  }
 }
 lc(x,y);
 log(chr(32));  
 x=a;
 y=b;
 lc(x,y);
 log(chr(249));
}
lc(0,23);

MixJuice・MicJack ダウンロード lash>echo MJ GET 15lt.eu.org/maze.js> uart;cat uart > .