0100 CLEAR 0110 FOR X=1 TO 50120 PRINT 0130 NEXT X0140 FOR X=13 TO 10 STEP -10150 PRINT TAB(48);X0160 NEXT X0170 FOR X=9 TO 1 STEP -10180 PRINT TAB(49);X0190 NEXT X0200 PRINT TAB(50);"                    1 1 1 1"0210 PRINT TAB(50);"  1 2 3 4 5 6 7 8 9 0 1 2 3"0220 RANDOMIZE 0230 T,M,F,PM=00240 DIM V(50),Z(50)0250 DIM S(2),R(2),MX(25),MY(25)0260 DIM A(15,15),H(15,15),ST$(1),K(256,3),L(256,3)0270 CURSOR 24,10280 PRINT "VAGABONDSKAK - 5 PAA STRIBE"0290 PRINT TAB(29);"SPILLEPLAN 13*13"0300 FOR X=6 TO 180310 CURSOR 52,X0320 ; ": : : : : : : : : : : : :"0330 NEXT X0340 OPEN "DEMO1:DATA",R0350 IF STATUS("DEMO1:DATA")<>0 THEN GO TO 03400360 WHILE STATUS("DEMO1:DATA")<>190370 GET "DEMO1:DATA":X2,Y2,Z2,V2,X1,Y1,Z1,V10380 K(X2+1,Y2+1)=V2;K(X1+1,Y1+1)=V1;L(X2+1,Y2+1)=Z2;L(X1+1,Y1+1)=Z10390 ENDWHILE 0400 FOR X=2 TO 140410 FOR Y=2 TO 140420 A(X,Y),H(X,Y)=00430 NEXT Y0440 NEXT X0450 FOR X=1 TO 150460 A(X,1),A(X,15),A(1,X),A(15,X)=-10470 NEXT X0480 PRINT CHR(7)0490 INPUT "VIL DU SPILLE BLINDT ?! ",ST$0500 IF ST$="J" THEN F=10510 INPUT "HVILKET NIVEAU ? ",NI0520 LIM=(NI-1)*700+200530 INPUT "VIL DU STARTE ? ",ST$0540 IF ST$="N" THEN 0550 A(8,8)=10560 CURSOR 64,120570 PRINT "x"0580 CURSOR 1,90590 PRINT "MIT TR@K : ";7;":";70600 EX,EY=80610 ENDIF 0620 CURSOR 1,110630 PRINT "                                   "0640 PRINT "                                   "0650 CURSOR 1,110660 INPUT "DIT TR@K : ",X,Y0670 IF X>13 OR X<1 OR Y>13 OR Y<1 THEN 0675 PRINT "UDENFOR BANEN"0680 FOR DCOUNT=1 TO 3000690 NEXT DCOUNT0710 GO TO 06200720 ELSE 0730 IF A(X+1,Y+1)=0 THEN 0740 A(X+1,Y+1)=20750 ELSE 0760 PRINT "IKKE ET TOMT FELT, PR0V IGEN"0770 FOR DCOUNT=1 TO 3000780 NEXT DCOUNT0790 GO TO 06200800 ENDIF 0810 ENDIF 0820 IF T=0 THEN 0830 IF ST$<>"N" THEN 0840 EX=X+1;EY=Y+10850 ENDIF 0860 B=X+1;C=Y+10870 ELSE 0880 B=X+1;C=Y+10890 ENDIF 0900 IF F=1 THEN GO TO 09300910 CURSOR 50+2*X,19-Y0920 PRINT "o"0930 T=T+10940 RESTORE 0950 FOR RETN=1 TO 40960 READ U,W0970 I1,I2=00980 REPEAT 0990 I1=I1+11000 X=B+U*I1;Y=C+W*I11010 UNTIL A(X,Y)<>21020 IF A(X,Y)=0 AND H(X,Y)=0 THEN 1030 H(X,Y)=1;M=M+11040 V(M)=X;Z(M)=Y1050 ENDIF 1060 REPEAT 1070 I2=I2+11080 X=B-U*I2;Y=C-W*I21090 UNTIL A(X,Y)<>21100 IF A(X,Y)=0 AND H(X,Y)=0 THEN 1110 M=M+1;H(X,Y)=11120 V(M)=X;Z(M)=Y1130 ENDIF 1140 IF I1+I2>5 THEN GO TO 26401150 NEXT RETN1160 RESTORE 1170 FOR RETN=1 TO 41180 READ U,W1190 I1,I2=01200 REPEAT 1210 I1=I1+11220 X=EX+U*I1;Y=EY+W*I11230 UNTIL A(X,Y)<>11240 IF A(X,Y)=0 AND H(X,Y)=0 THEN 1250 H(X,Y)=1;M=M+11260 V(M)=X;Z(M)=Y1270 ENDIF 1280 REPEAT 1290 I2=I2+11300 X=EX-U*I2;Y=EY-W*I21310 UNTIL A(X,Y)<>11320 IF A(X,Y)=0 AND H(X,Y)=0 THEN 1330 M=M+1;H(X,Y)=11340 V(M)=X;Z(M)=Y1350 ENDIF 1360 NEXT RETN1370 O,MAX=1;PL=01380 IF A(V(O),Z(O))=0 THEN 1390 RESTORE 1400 L1,K1,P=01410 FOR RETN=1 TO 41420 READ U,W1430 R(1),R(2),S(1),S(2)=01440 IF A(V(O)+U,Z(O)+W)=-1 THEN 1450 S(1),S(2)=11460 GO TO 17001470 ENDIF 1480 D=A(V(O)+U,Z(O)+W)1490 IF D=0 THEN 1500 IF A(V(O)+2*U,Z(O)+2*W)<1 THEN GO TO 17001510 D=A(V(O)+2*U,Z(O)+2*W)1520 ELSE 1530 R(D),S(D)=11540 ENDIF 1550 N=11560 N=N+11570 IF N>4 THEN GO TO 17001580 NN=A(V(O)+N*U,Z(O)+N*W)1590 IF NN=0 THEN 1600 IF A(V(O)+(N+1)*U,Z(O)+(N+1)*W)=D AND N<>4 THEN GO TO 15601610 GO TO 17001620 ENDIF 1630 IF NN=D THEN 1640 R(D)=R(D)+INT(2**(N-1)+.1)1650 ELSE 1660 S(3-D)=S(3-D)+11670 GO TO 17001680 ENDIF 1690 GO TO 15601700 IF A(V(O)-U,Z(O)-W)=-1 THEN 1710 S(1)=S(1)+1;S(2)=S(2)+11720 GO TO 19601730 ENDIF 1740 IF A(V(O)-U,Z(O)-W)=0 THEN 1750 IF A(V(O)-2*U,Z(O)-2*W)<1 THEN GO TO 19601760 E=A(V(O)-2*U,Z(O)-2*W)1770 ELSE 1780 E=A(V(O)-U,Z(O)-W)1790 R(E)=R(E)+16;S(E)=S(E)+11800 ENDIF 1810 IF E<>D THEN EXEC PT1820 N=31830 N=N+11840 IF N>6 THEN GO TO 19501850 NN=A(V(O)+(2-N)*U,Z(O)+(2-N)*W)1860 IF NN=0 THEN 1870 IF A(V(O)+(1-N)*U,Z(O)+(1-N)*W)=E AND N<>6 THEN GO TO 18301880 GO TO 19501890 ENDIF 1900 IF NN=E THEN 1910 R(E)=R(E)+INT(2**(N+1)+.1)1920 GO TO 18301930 ENDIF 1940 S(3-E)=S(3-E)+11950 D=E1960 EXEC PT1970 NEXT RETN1980 PROC PT1990 IF D=1 THEN 2000 P=P+K(R(1)+1,S(2)+1)2010 K1=K1+K(R(1)+1,S(2)+1) MOD 52020 ELSE 2030 IF D=2 THEN 2040 P=P+L(R(2)+1,S(1)+1)2050 L1=L1+L(R(2)+1,S(1)+1) MOD 52060 ENDIF 2070 ENDIF 2080 ENDPROC 2090 IF P=>100000 THEN 2100 CURSOR 48+2*V(O),20-Z(O)2110 PRINT "x"2120 PRINT CHR(7)2130 CURSOR 1,92140 PRINT "                               "2150 CURSOR 1,92160 PRINT "MIT TR@K: ";V(O)-1;":";Z(O)-12170 CURSOR 1,122180 PRINT CHR(7)2190 PRINT "JEG VANDT"2200 PRINT "TAK FOR SPILLET"2210 END 2220 ENDIF 2230 CASE L1 OF 2240 WHEN 5,6,72250 P=P+60002260 WHEN 42270 P=P+20002280 ENDCASE 2290 CASE K1 OF 2300 WHEN 5,6,72310 P=P+80002320 WHEN 42330 P=P+30002340 ENDCASE 2350 IF P>1000*NI THEN 2360 PL=PL+12370 V(PL)=V(O);Z(PL)=Z(O)2380 ELSE 2390 H(V(O),Z(O))=02400 ENDIF 2410 IF P>PM-LIM AND P<PM+LIM THEN 2420 MX(MAX)=V(O);MY(MAX)=Z(O)2430 MAX=MAX+12440 ELSE 2450 IF P>PM+LIM THEN 2460 PM=P;MX(1)=V(O);MY(1)=Z(O);MAX=22470 ENDIF 2480 ENDIF 2490 ENDIF 2500 O=O+12510 IF M=>O THEN GO TO 13802520 RN=INT(RND(5)*10000) MOD (MAX-1)+12530 A(MX(RN),MY(RN))=12540 PRINT CHR(7)2550 IF F=1 THEN GO TO 25802560 CURSOR 48+2*MX(RN),20-MY(RN)2570 PRINT "x"2580 CURSOR 1,92590 PRINT "                                       "2600 CURSOR 1,92610 PRINT "MIT TR@K: ";MX(RN)-1;":";MY(RN)-12620 EX=MX(RN);EY=MY(RN);PM=0;M=PL2630 GO TO 06202640 PRINT "DU VANDT"2650 GO TO 22002660 DATA 1,0,1,1,0,1,-1,12670 REM BY FLEMMING NIELSEN AND PALLE CHRISTENSEN