10 REM 20 REM 30 REM 40 REM 50 REM 60 REM 70 REM 80 REM 90 REM 100 REM 110 REM 120 REM ** Henrik ]shuvud ** 85-08-03 ** 130 REM 135 ; INP(3%); 140 GOTO 2010 150 RANDOMIZE : DIM F$(2%)=6%,G$(2%)=6%,[$(2%)=6% 160 GOTO 310 170 B$="EFGHIJKLMNOPQRSSSTUVVUUTSSSSTUVWWWXYZZYXXXXYYYYYYYYYYXXWWVUTTSSSTUUUTSRQQPQRSTU" 180 C$="UUVVWXXXYZ[\]^^]]]\\\\\\\\\]]^__``__^]]\\\\\[\]]\\]^_```__^]\\[ZZZ[\\\[ZZZYXXXW" 190 GOTO 490 200 B$="DDEEEFGHHHHHGGFEEEDCBA@?????@ABCCCDEFFFGHIIJKLLLLKJIHHGGGGGGGGGGGGHHIJKKLMMMNOP" 210 C$="OPQRQPPOOOOPQRSTUUUUTSRQQPOOOOPQQQPONMLKJJJJJJJJJJJIHHGFEEEEEEFGHIIIIHGGGFEDDDD" 220 GOTO 490 230 B$="DDEFGGGGFEEEEEDCBBA@@@@?????@ABCDDDDDDDDDDDDEFFFGHIIHHGFFFFGHIJJJJJJJJJIHGFEDDD" 240 C$="DDDDDDDDDDDDEFGGHIIIHGGFEEDCBA@????@ABCCCCDEFGGGGGFEDCCCCCDEEEEEDCBBA@@@@@ABBCD" 250 GOTO 490 260 B$="()*+,-./011234323345665543345567789:;<<=<<=>>?@@A@@AA@AAA@?>==>?>=<;;;;;;;;;;;;" 270 C$=";;;;;;<=>>>??@@??@@ABCCCDDCCDDEEFFGFEDDEFEEDDDCCDDCCBBBBBBAAAABCBAA@?>=<;;:9876" 280 D$="DDDDEFGGGGFEDCCCBABCDEEEFGHIJKKKJJJKLMMLLKKJIHHHHIIIIJKLMMNOOOPQPOOOOONMMMMMMMM" 285 Q5%=60% 290 E$="MMMMMMNOOONNMLLLKJJJKLLLLMNOPQRSSSSSRQQQPOOOPQQPPPQRSTTTTTUVVVWXXXYZZZZZYXXXXXY" 300 GOTO 490 310 B%=1% : C%=-1% : F%=28% : G%=17% : H%=4% : M%=21% : S%=1100% : V%=54% : Y%=1% : ]%=34% 320 DATA 245,197,213,175,50,244,253 330 DATA 50,243,253,245,205,147,2 340 DATA 6,38,19 350 DATA 19,26,27,18,19,16,249 360 DATA 62,32,18,241,60,254,24 370 DATA 32,230 380 DATA 209,193,241,201 390 FOR I%=65408% TO 65408%+36% 400 READ P% : POKE I%,P% 410 NEXT I% 420 ; CHR$(12%) : FOR I%=1% TO 24% : ; CHR$(151%,151%) : NEXT I% : ; CUR(0%,0%)" "; 430 REM 440 GOSUB 980 450 FOR I%=4% TO 79% : SETDOT 33%,I% : NEXT I% 460 READ K1%,L1% : IF K1%=0% OR PEEK(65013%) RESTORE 1050 : GOTO 480 470 FOR I1%=1% TO K1% : OUT 6%,0%,6%,121% : FOR I%=1% TO L1% : NEXT I% : NEXT I1% : L1%=L1%-1% : GOTO 460 480 ON B% GOTO 170,200,230,260 490 REM 500 IF B%=4% 640 510 GOSUB 750 : C%=C%+2% : IF C%=79% C%=-1% : GOTO 560 520 GOSUB 860 : P%=CALL(65408%) : GOSUB 980 525 SETDOT ASC(MID$(B$,C%,1%))-35%,78% : SETDOT ASC(MID$(B$,C%+1%,1%))-35%,79% 530 IF DOT(M%,38%) OR DOT(M%+2%,38%) OR DOT(M%,39%) OR DOT(M%+2%,39%) 1320 540 GOSUB 740 550 GOTO 510 560 IF C$=B$ 570 ELSE B$=C$ : GOTO 490 570 IF E% B%=4% : GOTO 480 580 IF B%>1% 600 590 GOSUB 860 : P%=CALL(65408%) : GOSUB 980 : GOSUB 740 : FOR I%=33% TO 52% : SETDOT I%,78% : NEXT I% : SETDOT 33%,79% 600 IF \% 1860 610 D%=D%+1% : IF D%=5% D%=0% : GOTO 620 ELSE C%=-1% : GOTO 480 620 REM 630 B%=B%+1% : GOTO 480 640 GOSUB 750 : C%=C%+2% : IF C%=79% C%=-1% : GOTO 700 650 GOSUB 860 : P%=CALL(65408%) : GOSUB 980 655 SETDOT ASC(MID$(B$,C%,1%))-37%+E%,78% : SETDOT ASC(MID$(B$,C%+1%,1%))-37%+E%,79% 660 SETDOT ASC(MID$(D$,C%,1%))-35%,78% : SETDOT ASC(MID$(D$,C%+1%,1%))-35%,79% 670 IF DOT(M%,38%) OR DOT(M%+2%,38%) OR DOT(M%,39%) OR DOT(M%+2%,39%) 1320 680 GOSUB 740 690 GOTO 640 700 IF C$=B$ 710 ELSE B$=C$ : D$=E$ : GOTO 640 710 E%=E%+1% : IF E%=5% E%=0% : GOTO 1430 720 C%=1% : B%=3% : GOSUB 860 : P%=CALL(65408%) : GOSUB 980 : GOSUB 740 730 FOR I%=33% TO 52% : SETDOT I%,78% : NEXT I% : SETDOT 33%,79% : GOTO 480 740 FOR I%=0% TO Q5% : NEXT I% : RETURN 750 REM 760 IF F%=1% 840 770 F%=F%-1% : IF F%?4",F%*(-1%)+4%,1%); : J%=37% : RETURN 800 ; CUR(G%-2%,39%)MID$("` (,<,",F%*(-1%)+7%,1%);CUR(G%-1%,39%)MID$("(+/o#4",F%*(-1%)+7%,1%); 810 ; CUR(G%,39%)MID$(" rw0",F%*(-1%)+7%,1%); : K%=34% : RETURN 820 ; CUR(G%-1%,39%)MID$(" ppp ",F%*(-1%)+6%,1%);CUR(G%,39%)MID$("jOIL5",F%*(-1%)+6%,1%); : L%=35% : RETURN 830 RETURN 840 READ F%,G%,H% 850 RETURN 860 IF J% J%=J%-1% 870 IF K% K%=K%-1% 880 IF L% L%=L%-1% 890 ; CUR(0%,4%)" " 900 IF S%=0% N%=N%+1% : IF DOT(M%+3%,39%) SETDOT M%+2%,43% : GOTO 940 ELSE 940 910 IF M%=8% 930 920 IF INP(56%)=221% N%=N%-1% 930 IF INP(56%)=173% N%=N%+1% : IF DOT(M%+3%,39%) SETDOT M%+2%,43% 940 IF Q% CLRDOT Q%,35% 950 CLRDOT M%,36% : CLRDOT M%,37% : CLRDOT M%+1%,38% : CLRDOT M%+2%,36% : CLRDOT M%+2%,37% 960 M%=M%+N% : N%=0% 970 RETURN 980 SETDOT M%,36% : SETDOT M%,37% : SETDOT M%+1%,38% : SETDOT M%+2%,36% : SETDOT M%+2%,37% 990 IF S%=0% S%=2% 1000 S%=S%-2% : ; CUR(0%,4%)S%CUR(0%,11%)R% 1010 IF Q% Q%=Q%+1% : IF DOT(Q%+1%,35%) OR DOT(Q%+1%,36%) OR DOT(Q%+1%,37%) 1250 ELSE SETDOT Q%,35% : GOTO 1030 1020 IF INP(56%)=218% AND NOT DOT(M%+3%,36%) Q%=M%+2% 1030 RETURN 1040 DATA 20,29,20,31,20,29,40,36,30,29,160,31,20,31,20,36,20,40,40,36,30,31,160,29,0,0 1050 DATA 27,18,7,53,17,4,28,18,6,52,17,4,28,18,6,52,17,4,27,18,7,53,17,4,28,18,6 1060 DATA 58,11,6,32,12,7,49,11,6,32,12,7,47,11,6,33,12,4,47,11,7,33,12,4,47,11,6,33,12,4 1070 DATA 36,10,6,14,12,4,10,10,7,56,10,6,14,12,4,10,10,7,56,10,6,14,12,4,10,10 1075 DATA 7,70,12,4,10,10,7,56,10,6,14,12,4,10,10,7 1080 DATA 78,13,4,57,10,6,14,12,4,10,10,7,78,13,4,57,10,6,14,12,4,10,10,7,78,13,4,57,10,6,14,12,4,10,10,7 1090 DATA 78,13,4,57,10,6,14,12,4,10,10,7,78,13,4,68,11,4 1100 DATA 33,12,4,47,11,4,34,12,4,47,11,4,33,12,4,47,11,4,33,12,4,47,11,4,444,444,4 1110 DATA 17,6,1,11,15,1,3,6,1,3,6,1,43,14,2,19,13,1,2,13,1,2,13,1,29,8,1,15,8,2,17,15,2,15,15,1,8,13,1,8,11,1,8,6,1 1120 DATA 35,12,2,15,11,1,2,11,1,2,11,1,13,8,1,18,8,2,4,18,1,2,18,1,2,18,1,2,18,1,2,18,1,26,7,1,28,12,2 1130 DATA 22,9,1,7,11,1,5,9,1,14,17,1,4,15,1,3,19,1,26,14,2,26,9,1,33,16,2,40,6,1,40,16,2,40,6,1 1140 DATA 25,10,2,1,13,1,1,10,2,1,13,1,1,10,2,1,13,1,1,10,2,1,13,1,1,10,2,1,13,1,1,10,2,15,0,3 1150 DATA 20,29,20,31,20,29,40,36,30,29,160,31,20,31,20,36,20,40,40,36,30,31,160,29 1160 DATA 20,29,20,31,20,29,40,36,30,29,160,31,20,31,20,36,20,40,40,36,30,31,30,29 1170 DATA 20,49,20,36,50,31,22,40,22,31,50,29,22,36,50,29,22,40,66,25,22,40,77,21 1180 DATA 30,25,50,29,40,25,30,49,30,29,55,31,20,36,44,36,22,40,20,36,44,36,30,40,30,36 1190 DATA 20,49,20,36,50,31,22,40,22,31,50,29,22,36,50,29,22,40,66,25,22,40,30,21 1200 DATA 25,29,25,40,25,20,25,29,25,36,25,18,25,25,25,36,25,17,25,25,25,31,35,15,35,21,35,14,35,21,35,12,35,21 1210 DATA 44,11,44,12,44,14,66,17,55,14,77,18,66,14,66,18,33,14,99,18 1220 DATA 44,11,44,12,44,14,66,17,44,14,77,18,66,17,44,14,66,17,77,14,44,11,44,12,44,14,77,17,66,14,77,18 1230 DATA 44,11,44,14,55,17,66,14,144,17,144,21,144,20,144,25,244,21 1240 DATA 11,20,11,19,11,18,11,17,11,16,11,15,11,14,11,13,11,12,11,11,11,10,11,9,11,8,11,6,11,4,111,2,0,0 1250 IF J%=17% OR J%=18% ; CUR(INT(Q%/3%),17%)" "CUR(INT(Q%/3%)+1%,17%)"a&0" : Q%=0% 1260 IF J%=17% OR J%=18% J%=0% : R%=R%+100% : OUT 6%,0%,6%,137% : RETURN 1270 IF K%>10% AND K%<17% ; CUR(INT(Q%/3%),K%+1%)" "CUR(INT(Q%/3%)+1%,K%+1%)"`(!(021" : Q%=0% 1280 IF K%>10% AND K%<17% R%=R%+150% : K%=0% : OUT 6%,0%,6%,137% : RETURN 1290 IF L%>13% AND L%<19% ; CUR(INT(Q%/3%),L%+1%)" "CUR(INT(Q%/3%)+1%,L%+1%)"e(&2 " : Q%=0% 1300 IF L%>13% AND L%<19% S%=S%+200% : L%=0% : OUT 6%,0%,6%,133% : RETURN 1310 Q%=0% : RETURN 1320 OUT 6%,9% : CLRDOT M%+1%,20% : I%=36% : W%=M%+2% 1330 IF M%<6% 1350 1340 CLRDOT M%,I% : CLRDOT M%,I%*(-1%)+73% 1350 IF I%<7% 2010 1360 IF W%>63% 1380 1370 CLRDOT W%,I% : CLRDOT W%,I%*(-1%)+73% 1380 M%=M%-1% : I%=I%-1% : IF M%<6% 1400 1390 SETDOT M%,I% : SETDOT M%,I%*(-1%)+73% 1400 W%=W%+1% : IF W%>63% 1330 1410 SETDOT W%,I% : SETDOT W%,I%*(-1%)+73% 1420 GOTO 1330 1430 GOSUB 740 : T%=T%+1% : IF T%=40% T%=0% : GOTO 1460 1440 IF DOT(M%,38%) OR DOT(M%+2%,38%) OR DOT(M%,39%) OR DOT(M%+2%,39%) 1320 1450 ; CUR(18%,39%)"#"; : GOSUB 860 : P%=CALL(65408%) : GOSUB 980 : GOTO 1430 1460 Q5%=0% : OUT 6%,5% : FOR I%=S% TO 9900 STEP 10% : ; CUR(0%,4%)I% : NEXT I% : S%=9900% : OUT 6%,0% 1470 REM 1480 U%=INT(RND*3%)-1% 1490 IF V%+U%=36% U%=1% 1500 IF V%+U%=63% U%=-1% 1510 V%=V%+U% 1520 SETDOT V%,78% : SETDOT V%,79% : REM SETDOT V%+1%,78% : SETDOT V%+1%,79% 1530 GOSUB 740 1540 IF DOT(M%,38%) OR DOT(M%+2%,38%) OR DOT(M%,39%) OR DOT(M%+2%,39%) 1320 1550 GOSUB 860 : P%=CALL(65408%) : GOSUB 980 1560 IF W%=10% 1590 1570 W%=INT(RND*22%) : Z%=INT(M%/3%)-1% 1580 GOTO 1470 1590 IF F$(0%)="" \%=\%+1% : ON \% GOTO 1660,1690,1720,1750,1780,1810 1600 X%=X%+Y% : IF X%=2% Y%=-1% 1610 IF X%=0% Y%=1% 1620 OUT 6%,93% : ; CUR(Z%,]%)F$(X%);CUR(Z%+1%,]%)G$(X%)" ";CUR(Z%+2%,]%)[$(X%); : ]%=]%-2% 1630 IF ]%=10% ]%=34% : W%=0% : X%=0% : Y%=1% : R%=R%+150% : A1%=A1%+1% : OUT 6%,0% 1640 IF A1%=4% A1%=0% : F$(0%)="" 1650 GOTO 1470 1660 F$(0%)="`|}t " : F$(1%)=" h} " : F$(2%)=" x}0 " : G$(0%)="##7#! " : G$(1%)=" j " : G$(2%)="(/?- " 1670 [$(0%)=" e$ " : [$(1%)=" % " : [$(2%)=" d% " 1680 GOTO 1600 1690 F$(0%)="~{{4 " : F$(1%)="xll0 " : F$(2%)="`pp " : G$(0%)="+<>! " : G$(1%)="os{% " : G$(2%)=".n " 1700 [$(0%)="`5u " : [$(1%)="`5u " : [$(2%)="b7w " 1710 GOTO 1600 1720 F$(0%)="htt " : F$(1%)="xrf " : F$(2%)="(=,, " : G$(0%)='"/!5 ' : G$(1%)="o$) " : G$(2%)="~4 " 1730 [$(0%)=" 5 " : [$(1%)=" " : [$(2%)='"# ' 1740 GOTO 1600 1750 F$(0%)=" p0 " : F$(1%)=" p0 " : F$(2%)=" p0 " : G$(0%)='"#4 ' : G$(1%)='"k4 ' : G$(2%)='"4 ' 1760 [$(0%)="""/' " : [$(1%)="""/' " : [$(2%)="""/' " 1770 GOTO 1600 1780 F$(0%)=" )0 " : F$(1%)="(d0 " : F$(2%)="  " : G$(0%)="||~ " : G$(1%)="||~ " : G$(2%)=" " 1790 [$(0%)="+' " : [$(1%)="+' " : [$(2%)="+' " 1800 GOTO 1600 1810 Q5%=75% : SETDOT V%,78% : SETDOT V%,79% : V%=V%-1% : IF V%=33% 1850 1820 GOSUB 740 1830 IF DOT(M%,38%) OR DOT(M%+2%,38%) OR DOT(M%,39%) OR DOT(M%+2%,39%) 1320 1840 GOSUB 860 : P%=CALL(65408%) : GOSUB 980 : GOTO 1810 1850 GOSUB 740 : B%=2% : GOTO 480 1860 IF D%=4% D%=0% : GOTO 1880 1870 GOTO 610 1880 SETDOT V%,78% : SETDOT V%,79% : V%=V%+1% : IF V%=63% READ F%,G%,H% : GOTO 1920 1890 GOSUB 740 1900 IF DOT(M%,38%) OR DOT(M%+2%,38%) OR DOT(M%,39%) OR DOT(M%+2%,39%) 1320 1910 GOSUB 860 : P%=CALL(65408%) : GOSUB 980 : GOTO 1880 1920 ; CUR(2%,39%)"p";CUR(21%,39%)"#"; : GOSUB 740 1930 IF DOT(M%,38%) OR DOT(M%+2%,38%) OR DOT(M%,39%) OR DOT(M%+2%,39%) 1320 1940 GOSUB 860 : P%=CALL(65408%) : GOSUB 980 1950 D1%=D1%+1% : IF D1%=F% D1%=0% : R%=R%+150% : ON H% GOTO 1970,1980,1990 1960 GOTO 1920 1970 FOR I%=G% TO 20% : ; CUR(I%,38%)"w{" : NEXT I% : READ F%,G%,H% : GOTO 1920 1980 FOR I%=3% TO G% : ; CUR(I%,38%)"w{" : NEXT I% : READ F%,G%,H% : GOTO 1920 1990 READ K1%,L1% : IF K1%=0% 2010 2000 FOR I1%=1% TO K1% : OUT 6%,0%,6%,121% : FOR I%=1% TO L1% : NEXT I% : NEXT I1% : L1%=L1%-1% : GOTO 1990 2010 ; CHR$(12%); : ; CUR(0%,0%)"********************************************************************************"; 2020 FOR I%=2% TO 20% : ; CUR(I%,0%)"**"CUR(I%,38%)"**"; : NEXT I% 2030 ; CUR(21%,0%)"********************************************************************************"; 2040 ; CUR(4%,8%)CHR$(151%)"<,h,$H1% H1%=R% 2070 ; CUR(15%,10%)"Din po{ng "R%CUR(17%,10%)"High score"H1% 2080 OUT 6%,0% : RESTORE 2090 E%=0% : \%=0% : R%=0% : D%=0% : X%=0% : W%=0% : F$(0%)="" : A1%=0% 2095 Q%=0% : K%=0% : L%=0% : M%=0% : D1%=0% : Q5%=0% 2100 FOR I%=0% TO 5000% : NEXT I% 2110 IF INP(56%)>127% POKE 65013%,0% : GOTO 150 ELSE 2110