======== MIMIZU.DEF by JOUJI ======== * M 80 @H "みみず" ?. mi[, du[, mi+, du-, &v(0) #R "mimizu.tmp" #m (s)?'Y' &12 &13 &14 l=10, x.0=40, y.0=10, :A &r a=r%3-1, &r b=r%3-1, (a||b)??>A x.1=x.0+a+a, y.1=y.0+b, &x(x.0) &y(y.0) '◎' &x(x.1) &y(y.1) '◎' n=1, e=l-2, :B &> (e--)?>B :C &k (r)?>Z &w(40) &> >C ;&w():動くスピード(ウェイト) :Z du], mi], #C 00: &r r%=4, (r)??{&02 >A} ;−45° (r<3)?{c=a, d=b, >A} ;直進 &01 >A ;+45° :R &r f=r%2, c=a, d=b, &11 (r)??>A ;直進 &02 &11 (r)??>A ;−45° &01 &11 (r)??>A ;+45° (f)?>S c=b, d=-a, &11 (r)??>A ;−90° :S c=-b, d=a, &11 (r)??>A ;+90° c=b, d=-a, &11 (r)??>A ;−90° (f)?>T &04 &11 (r)??>A ;−135° :T &03 &11 (r)??>A ;+135° &04 ;−135° :A m=n, n++, n%=l, (e)??{&x(x.n) &y(y.n) ' '} &11 (r)?{n=m, >R} x.n=i, y.n=j, &x(i) &y(j) '◎' a=c, b=d, 01: ;方向変換 (a,b)->(c,d) +45゚ c=a-b, d=a+b, >10 02: ;方向変換 (a,b)->(c,d) -45゚ c=a+b, d=b-a, >10 03: ;方向変換 (a,b)->(c,d) +135゚ c=-a-b, d=a-b, >10 04: ;方向変換 (a,b)->(c,d) -135゚ c=b-a, d=-a-b, >10 10: (c>0)?{c+, >A} (c<0)?c=-1, :A (d>0)?{d+, .} (d<0)?d=-1, 11: i=x.m+c+c, j=y.m+d, (i<2||i>74||j<1||j>21) 12: &s #n (39){'■'} #k #p #x #n '■' (37){' '} '■' #k (20){#p} #^ &d 13: x2+$."1234567890123456" 14: y2+$."1234567890123456" * ======== End of MIMIZU.DEF ========