1 my=peek(65532):printchr$(147) 2 sr=32768:jr=0 3 ifmy=61ormy=226thensr=1024:jr=56320:poke53280,peek(53281) 4 ifmy=246thensr=3072 5 gosub50000 10 pw=14:ph=24 11 cx=5:cy=5 12 lx=3:ly=20 13 q0=119:q1=116:q2=111:q3=106 14 ifmy=61ormy=226ormy=246ormy=300goto20 15 q0=99:q1=101:q2=100:q3=103 20 cs=0:md=0 30 lm=0:ld=0:sm=0:ym=7 31 ifmy<>300goto40 32 t0=peek(70001) 33 lm=int(t0/100) 34 ld=t0-100*lm 40 bd=3:bs=1:bz=0 50 dimtt(100) 60 dimgp(64) 61 x3=7:y3=15 80 dimgi(10):dimgq(10) 81 x0=3:y0=12:d0=3:d1=4:x1=4:y1=8 82 x2=3:y2=5 83 b0=2 100 printchr$(147) 200 printchr$(19) 201 t0=sr:t1=pw:t2=ph 210 poket0,78:poket0+t1,77 220 fori=1tot1-1:poket0+i,q0:nexti 230 fori=1tot2 235 poket0+i*40,q1:poket0+i*40+t1,q3 239 nexti 240 poket0+40*t2,77:poket0+40*t2+t1,78 250 fori=1tot1-1:poket0+40*t2+i,q2:nexti 300 t0=sr+41:t1=pw-2:t2=ph-2 310 poket0,79:poket0+t1,80 320 fori=1tot1-1:poket0+i,q0:nexti 330 fori=1tot2 335 poket0+i*40,q1:poket0+i*40+t1,q3 339 nexti 340 poket0+40*t2,76:poket0+40*t2+t1,122 350 fori=1tot1-1:poket0+40*t2+i,q2:nexti 360 t9=sr+40*ly+lx 370 poket9,85:poket9+1,73 380 poket9+40,160:poket9+41,160 390 poket9+43,62:poket9+45,62:poket9+47,62 400 ifmy<>300goto420 410 th=peek(90003):tm=peek(90002) 411 goto450 420 ifcs>0goto450 430 th=int(rnd(1)*24):tm=int(rnd(1)*60) 440 cs=1 450 th$=mid$(str$(th),2):tm$=mid$(str$(tm),2) 460 ifth<10thenth$="0"+th$ 470 iftm<10thentm$="0"+tm$ 500 printchr$(19);chr$(146); 510 fori=1tocx:printchr$(29);:nexti 520 fori=1tocy:printchr$(17);:nexti 530 printth$;":";tm$ 590 iftd>0goto999 800 printchr$(19):printchr$(17) 810 print"","","sperrbildschirm 1.1" 820 print"","","by ziebieemm" 890 td=1 900 printchr$(19) 910 fori=0toym:printchr$(17);:nexti 920 print"","","mode" 930 print"",""," pattern" 934 print"",""," pin" 936 print"",""," [help]" 940 printchr$(17); 950 print"","","difficulty" 960 print"",""," easy" 962 print"",""," medium" 964 print"",""," hard" 966 print"",""," [back]" 970 gosub50010 998 t9=lm 999 ifsm=1goto2000 1000 printchr$(19) 1010 fori=0toym:printchr$(17);:nexti 1020 printchr$(17); 1030 iflm>0thenprintchr$(17); 1040 iflm>1thenprintchr$(17); 1100 print"",""," "; 1110 ifbs=1thenprintchr$(18); 1120 iflm=0thenprint"pattern"; 1140 iflm=1thenprint"pin"; 1150 iflm=2thenprint"[help]"; 1200 bz=bz+1 1205 gosub50010 1208 ifdc<>0goto1310 1210 ifbz1thenbs=0 1240 bz=0 1310 t0=lm 1315 t2=0 1320 ifdc=-40thenlm=lm-1 1325 ifdc=40thenlm=lm+1 1330 iflm<0thenlm=0 1335 iflm>2thenlm=2 1340 ifdc=87thent2=1 1345 ift2=1goto1400 1350 iflm=t0goto1000 1400 ift0=0thent1=7 1405 ift0=2thent1=6 1420 ift0=1thent1=3 1430 printchr$(146); 1450 fori=1tot1:printchr$(157);:nexti 1451 ift0=2andt2=1goto4000 1455 ift2=1thenprintchr$(157);"*"; 1460 ift0=0thenprint"pattern"; 1480 ift0=1thenprint"pin"; 1485 ift0=2thenprint"[help]"; 1490 ift2=1thengoto1900 1500 bz=0:bs=1 1510 goto1000 1900 bz=0:bs=1 1910 sm=1 1998 t9=ld 2000 printchr$(19) 2010 fori=0toym+5:printchr$(17);:nexti 2020 printchr$(17); 2030 ifld>0thenprintchr$(17); 2040 ifld>1thenprintchr$(17); 2050 ifld>2thenprintchr$(17); 2100 print"",""," "; 2110 ifbs=1thenprintchr$(18); 2120 ifld=0thenprint"easy"; 2130 ifld=1thenprint"medium"; 2140 ifld=2thenprint"hard"; 2150 ifld=3thenprint"[back]"; 2200 bz=bz+1 2205 gosub50010 2208 ifdc<>0goto2310 2210 ifbz1thenbs=0 2240 bz=0 2310 t0=ld 2315 t2=0 2320 ifdc=-40thenld=ld-1 2325 ifdc=40thenld=ld+1 2330 ifld<0thenld=0 2335 ifld>3thenld=3 2340 ifdc=87thent2=1 2345 ift2=1goto2400 2350 ifld=t0goto2000 2400 ift0=0thent1=4 2405 ift0=3thent1=6 2410 ift0=1thent1=6 2420 ift0=2thent1=4 2430 printchr$(146); 2450 fori=1tot1:printchr$(157);:nexti 2451 ift0=3andt2=1goto2600 2455 ift2=1thenprintchr$(157);"*"; 2460 ift0=0thenprint"easy"; 2470 ift0=1thenprint"medium"; 2480 ift0=2thenprint"hard"; 2485 ift0=3thenprint"[back]"; 2490 ift2=1thengoto2900 2500 bz=0:bs=1 2510 goto2000 2600 ld=t9 2610 print"[back]"; 2620 bz=0 2690 goto1000 2900 bz=0:bs=1 2910 goto5000 4000 printchr$(147);"========= sperrbildschirm help =========. " 4001 lm=t9 4100 print"=== pattern ===" 4110 print"try to draw the entire unlock pattern " 4120 print"without making a mistake." 4130 print"touching a wrong position will reset " 4140 print"your input back to the start." 4200 printchr$(215);" untouched position" 4205 printchr$(42);" touched but not in pattern" 4210 printchr$(209);" activated position (correct)" 4500 print:print"=== pin ===" 4510 print"crack the pin number by trying out " 4520 print"different combinations." 4530 print"after each attempt, your result will be "; 4540 print"displayed on the screen:" 4600 printchr$(214);" wrong number" 4610 printchr$(215);" correct number in wrong position" 4620 printchr$(209);" correct number in the correct position" 4910 gosub50010 4920 ifdc=0goto4910 4930 goto9000 5000 ifmy=300thenpoke70001,lm*100+ld 5005 tc=1 5100 t9=sr+40*ly+lx 5110 poket9,32:poket9+40,32 5115 fori=0to10:t0=rnd(1):nexti 5120 poket9+1,32:poket9+41,32 5200 iflm=0goto10000 5220 iflm=1goto30000 9000 td=0:cs=0:sm=0 9999 goto100 10000 ifld=0thengl=2 10002 ifld=1thengl=4 10004 ifld=2thengl=6 10010 t1=gl/2:gx=x3-t1:gy=(y3-t1)*40 10011 ifgl=4thengx=gx-1 10012 ifgl=6thengx=gx-2 10020 wx=x3:wy=y3*40:bb=sr+wx+wy 10021 gz=0:gw=0:ta=-1 10100 t9=int(rnd(1)*gl)*10 10110 t8=int(rnd(1)*gl) 10120 gp(0)=t9+t8 10130 gu=0:t4=2:t3=1 10199 t1=0 10200 ifgu>t4goto10450 10201 t1=t1+1 10202 ift1>6goto10450 10209 t9=(int(rnd(1)*3)-1)*10 10210 t8=int(rnd(1)*3)-1 10220 ift9=0andt8=0goto10209 10230 t7=int((gp(gu)+t9)/10) 10240 t6=(gp(gu)+t8)-int(gp(gu)/10)*10 10250 ift7<0ort6<0goto10200 10260 ift7>=glort6>=glgoto10200 10270 t2=gp(gu)+t9+t8 10300 fori=0togu 10350 ifgp(i)=t2goto10200 10390 nexti 10400 gu=gu+1 10410 gp(gu)=t2 10430 goto10199 10450 ift3=2goto10620 10455 ift3=3goto10645 10500 t0=gx 10510 ift0>lxgoto10540 10520 gosub10990 10540 ift0>lx+3goto10590 10550 gosub10990 10590 t0=t0+2 10600 gosub45000 10605 t3=2 10610 ift46goto10199 10620 gosub10990 10640 gosub45010 10641 t3=3 10642 ift46goto10199 10645 t0=t0+2 10649 ifgl<3goto10690 10650 gosub10990 10690 t0=t0+2 10700 gosub45020 10710 ifgl<4goto10740 10720 gosub10990 10730 t0=t0+2 10740 ifgl<5goto10760 10750 gosub10990 10760 ifgl<6goto10900 10765 t0=t0+2 10770 gosub10990 10900 gosub45030 10910 gosub50010 10920 gu=gu+1 10989 goto11000 10990 fori=0togl-1 10991 pokesr+t0+gy+80*i,87 10992 nexti 10993 return 11000 printchr$(19);chr$(29);chr$(29);chr$(17);chr$(17);"try:";tc 11010 printchr$(29);chr$(29);chr$(29);chr$(17);chr$(17);chr$(17); 11011 printchr$(17);chr$(17); 11020 printgz;"/";gu 11030 ifgz=gugoto15000 11100 gosub45040 11110 gosub50010 11115 t5=0 11120 ifdc=-40thenwy=wy-40 11122 ifdc=40thenwy=wy+40 11124 ifdc=1thenwx=wx+1 11126 ifdc=-1thenwx=wx-1 11128 ifdc<>0anddc<>87thengosub45050 11130 ifwyt0thenwy=t0:t5=-1 11138 ifwx>t1thenwx=t1:t5=-1 11200 ift5goto11000 11210 ifdc=0ordc=87goto11000 11300 if42=peek(bb)thenpokebb,87 11400 bb=sr+wx+wy 11410 ifpeek(bb)<>87goto11000 12000 t0=(wy-gy)/40 12010 t1=wx-gx 12100 t3=t0/2:t4=t1/2 12110 t5=t3*10+t4 12120 ifgp(gz)<>t5goto12200 12125 ta=-1 12130 pokebb,81 12131 tt(gw)=bb 12132 gw=gw+1 12140 gz=gz+1 12145 ifgz>1goto13000 12150 goto11000 12200 t9=0 12201 fori=0togu-1 12202 ifgp(i)=t5thent9=t9+1 12203 nexti 12205 ift9<1thenpokebb,42 12210 tc=tc+1 12220 ifgz>0thenpokett(0),87 12230 gz=0 12240 ifgw<2thengw=0:goto11000 12300 gw=gw-2 12310 fori=1togwstep2 12314 pokett(i),32 12316 pokett(i+1),87 12319 nexti 12320 gw=0 12330 goto11000 13000 t0=(bb-tt(gw-2))/2 13010 t1=bb-t0 13020 tt(gw-1)=t1 13025 tt(gw)=bb 13030 gw=gw+1 13100 t2=102:t3=0 13110 ift0=1ort0=-1thent2=67 13120 ift0=40ort0=-40thent2=93 13130 ift0=-39ort0=39thent2=78:t3=1 13140 ift0=41ort0=-41thent2=77:t3=1 13150 ift3>0andpeek(t1)<>32thent2=86 13200 poket1,t2 13210 goto11000 15000 printchr$(19);chr$(29);chr$(29);chr$(17);chr$(17);chr$(17);"success!!" 15010 gosub50010 15020 ifdc<>87goto15010 15030 goto9000 19999 goto19999 20000 goto9000 30000 ifld=0thengl=3 30002 ifld=1thengl=5 30003 ifld=2thengl=7 30010 fori=0to9 30015 gi(i)=i 30019 nexti 30020 t0=sr+x0+40*y0 30021 poket0+d0*120,31 30022 poket0+d0*80,55 30023 poket0+d0*40,52 30024 poket0,49 30030 fori=0to33 30035 t0=int(rnd(1)*10) 30039 t1=int(rnd(1)*10) 30040 t2=gi(t0) 30041 gi(t0)=gi(t1) 30042 gi(t1)=t2 30049 nexti 30110 t0=sr+x0+d1+40*y0 30120 poket0+d0*120,48 30121 poket0+d0*80,56 30122 poket0+d0*40,53 30123 poket0,50 30130 gosub45000 30150 fori=0to10 30155 t0=int(rnd(1)*10) 30159 t1=int(rnd(1)*10) 30160 t2=gi(t0) 30161 gi(t0)=gi(t1) 30162 gi(t1)=t2 30169 nexti 30200 gosub45010 30250 fori=0to20 30255 t0=int(rnd(1)*10) 30259 t1=int(rnd(1)*10) 30260 t2=gi(t0) 30261 gi(t0)=gi(t1) 30262 gi(t1)=t2 30269 nexti 30300 gosub45020 30350 fori=0to20 30355 t0=int(rnd(1)*10) 30359 t1=int(rnd(1)*10) 30360 t2=gi(t0) 30361 gi(t0)=gi(t1) 30362 gi(t1)=t2 30369 nexti 30410 t0=sr+x0+d1*2+40*y0 30420 poket0+d0*120,36 30421 poket0+d0*80,57 30422 poket0+d0*40,54 30423 poket0,51 30500 gosub45030 30510 t0=sr+x2+y2*40 30520 t4=t0 30530 fori=0togl-1 30535 poket4,63:t4=t4+1 30539 nexti 30600 c0=sr+x1+40*y1 30610 c0=c0+((8-gl)/2) 30611 ifgl=2thenc0=c0-1 30620 fori=1togl 30630 pokec0+i-1,46 30640 nexti 30650 dp=0 30700 gosub50010 31000 bb=sr+x0+40*y0 31010 ww=0:gz=0 31020 gosub45040 31025 printchr$(19);chr$(29);chr$(29);chr$(17);chr$(17);"try:";tc 31030 gosub50010 31040 ifdc=87goto32000 31045 t0=ww 31050 ifdc=40thent0=t0+3 31060 ifdc=-40thent0=t0-3 31070 ifdc<2anddc>-2thent0=t0+dc 31100 ift0<0thent0=t0+12 31110 ift0>11thent0=t0-12 31120 ift0<>wwthent4=1:gosub45050 31130 ww=t0 31200 bb=sr+x0+40*y0 31205 t0=ww:t1=d0+1:t2=(d1-1) 31210 ift0<3goto31300 31220 bb=bb+40*t2 31230 t0=t0-3 31240 goto31210 31300 bb=bb+t1*t0 31310 ift4=1thent4=0:gosub45055 31900 fori=0tob0 31910 gosub50010 31920 ifdc<>0goto31040 31930 nexti 31990 goto31020 32000 ifww<9thengq(gz)=ww+1 32010 ifww=10thengq(gz)=0 32015 ifww=11thengoto31020 32020 ifww=9goto33000 32030 pokec0+gz,gq(gz)+48 32100 gz=gz+1 32110 ifgzgi(j)goto32600 32430 t2=t2+1 32440 ifi=jthent1=t1+1:t2=t2-1 32600 nextj:nexti 32610 ift1<1goto32620 32611 fori=0tot1-1 32615 poket0,81:t0=t0+1 32619 nexti 32620 ift2<1goto32630 32621 fori=0tot2-1 32625 poket0,87:t0=t0+1 32629 nexti 32630 t3=gl-(t2+t1) 32631 ift3<1goto32710 32632 fori=0tot3-1 32635 poket0,86:t0=t0+1 32639 nexti 32710 gz=0 32720 gosub50010 32725 ift1=glgoto34000 32730 ifdc=0goto32720 32770 fori=1togl 32780 pokec0+i-1,46 32790 nexti 32799 tc=tc+1 32800 goto31020 33000 ifgz<1goto31020 33010 gz=gz-1 33020 pokec0+gz,46 33030 goto31020 34000 printchr$(19);chr$(29);chr$(29);chr$(17);chr$(17);chr$(17);"success!!" 34010 gosub50010 34020 ifdc<>87goto34010 34030 goto9000 40044 poket0+d0*40,52 45000 pokesr+40*ly+lx+43,32 45009 return 45010 pokesr+40*ly+lx+45,32 45019 return 45020 pokesr+40*ly+lx+47,32 45029 return 45030 printchr$(19);chr$(146); 45031 fori=1tocx:printchr$(29);:nexti 45032 fori=1tocy:printchr$(17);:nexti 45033 print" " 45039 return 45040 ifpeek(bb)<128goto45045 45041 pokebb,peek(bb)-128 45044 return 45045 pokebb,peek(bb)+128 45049 return 45050 ifpeek(bb)>127thenpokebb,peek(bb)-128 45051 return 45055 ifpeek(bb)<128thenpokebb,peek(bb)+128 45056 return 49999 print">end-of-code<":goto49999 50000 dp=0 50009 return 50010 jj=255:dc=rnd(1):dc=0 50011 ifjr>0thenjj=peek(jr) 50012 ifmy=246thenjj=joy(1) 50013 getk$:kk=0:ifk$<>""thenkk=asc(k$) 50014 if(kk=87orkk=145orjj=126orjj=1)thendc=-40 50015 if(kk=68orkk=29orjj=119orjj=3)thendc=1 50016 if(kk=83orkk=17orjj=125orjj=5)thendc=40 50017 if(kk=65orkk=157orjj=123orjj=7)thendc=-1 50018 if(kk=32orjj=111orjj=128)thendc=87 50019 ifdc<>0thendp=dc 50020 return