DIM D(18):DIM M(10):DIM X1(4):DIM Y1(4)
X1(0)=0:Y1(0)=-1
X1(1)=1:Y1(1)=0
X1(2)=0:Y1(2)=1
X1(3)=-1:Y1(3)=0
D(0)=&B101
D(1)=&B101
D(2)=&B010
D(3)=&B011
D(4)=&B100
D(5)=&B011
D(6)=&B010
D(7)=&B101
D(8)=&B101
D(9)=&B110
D(10)=&B001
D(11)=&B110
D(12)=&B010
D(13)=&B111
D(14)=&B111
D(15)=&B000
D(16)=&B111
D(17)=&B111
FOR I=0 TO 17
D(I)=D(I)<<13
NEXT
M(0)= &B111111111111111
M(1)= &B100000000000001
M(2)= &B101111101111101
M(3)= &B101000000000101
M(4)= &B101011101110101
M(5)= &B101000000000101
M(6)= &B101110111011101
M(7)= &B100000000000001
M(8)= &B111111111111111
M(9)=0
*START
CLS
DT=0
FOR Y=0 TO 12 STEP 4
FOR X=0 TO 24 STEP 4
I=X:J=Y:K=3:GOSUB *KABECK
IF KABE THEN LINE X,Y,X,Y+4,1
I=X:J=Y:K=0:GOSUB *KABECK
IF KABE THEN LINE X,Y,X+4,Y,1
K=2
IF X%24=0 THEN IF Y%12=0 THEN K=3
LINE X+2,Y+2,X+K,Y+K,1,BF
DT=DT+1
NEXT
NEXT
LINE 28,0,28,16,1
LINE 0,16,28,16,1
PW=0:G=12
X=13:Y=13:H=3:C=0
W=13:V=5:T=2:B=0
F=0
WHILE F<2
IF F THEN BITMAP D(H*3),X,Y,3,2
IF C=0 THEN
	IF ABS(X-W)<4 THEN
		IF ABS(Y-V)<4 THEN
			IF PW THEN
				BITMAP D(G),W,V,3,2
				W=17:V=5:F=0:b=0
			ELSE
				F=2
			ENDIF
		ENDIF
	ENDIF
	I=X+1:J=Y+1
	IF POINT(I,J) THEN
		IF POINT(I+1,J) THEN PW=30
		LINE I,J,I+1,J+1,0,BF
		DT=DT-1:IF DT=0 THEN F=2
	ENDIF
	IF SW=0 THEN K=H
	IF SW=1 THEN K=0
	IF SW=8 THEN K=1
	IF SW=2 THEN K=2
	IF SW=4 THEN K=3
	I=X:J=Y
	GOSUB *KABECK
	IF KABE=0 THEN H=K:C=4
ENDIF
IF C THEN
	X=X+X1(H):Y=Y+Y1(H)
	C=C-1
ENDIF
BITMAP D(H*3),X,Y,3,2
IF F THEN BITMAP D(G),W,V,3,2
IF B=0 THEN
	I=W:J=V
	IF RND%4 THEN
		IF RND%2 THEN
			K=1:IF W>X THEN K=3
		ELSE
			K=2:IF V>Y THEN K=0
		ENDIF
	ELSE
		K=T
		K=RND%4
	ENDIF
	G=12:IF PW THEN
		G=15
		PW=PW-1
		K=K+2 % 4
	ENDIF
	GOSUB *KABECK
	IF KABE=0 THEN T=K:B=4
ENDIF
IF B THEN
	W=W+X1(T):V=V+Y1(T)
	B=B-1
ENDIF
BITMAP D(G),W,V,3,2
REM
IF F=0 THEN F=1
WEND
FOR I=0 TO 3000
NEXT
GOTO *START
*KABECK
J=J/2+1+Y1(K)
I=I/2+1+X1(K)
KABE= &H4000 >> I AND M(J)
RETURN
