10 REM Numerical Password System 20 REM By Andrew P Snodgrass 30 REM v1.01 1st June 1993 40 REM This is PD software 50 REMDIV--MOD8 Bit SoftwareDIV-- 60 : 70 MODE1 80 TIME=0 90 ONERRORMODE1:COLOUR3:REPORT:PRINT" at ";ERL:END 100 PROCdefine 110 PROCmain 120 END 130 : 140 DEFPROCdefine 150 VDU23;8202;0;0;0; 160 GCOL32,0 170 MOVE1280,0:PLOT85,0,1024:PLOT85,1280,1024 180 VDU28,16,17,22,14:CLS:VDU26 190 *FX11,0 200 N%=0:X=17 210 GCOL64,0 220 MOVE512,450:DRAW487,425:PLOT85,512,575:PLOT85,487,600:PLOT85,740,575:PLOT85,765,600:PLOT85,740,450:PLOT85,765,425:PLOT85,512,450:PLOT85,487,425 230 GCOL0,1:MOVE512,450:DRAW512,575:DRAW740,575:DRAW740,450:DRAW512,450:DRAW487,425:DRAW487,600:DRAW512,575:MOVE487,600:DRAW765,600:DRAW740,575:MOVE765,600:DRAW765,425:DRAW740,450:MOVE765,425:DRAW487,425 240 PROCdis(257,700,1,"You have seconds to go") 250 ENDPROC 260 : 270 DEFPROCmain:COLOUR135 280 PRINTTAB(17,15)"00000" 290 READno% 300 REPEAT:COLOUR135:COLOUR0:*FX11,0 310 T%=60-TIME/100:IFT%>=10PRINTTAB(17,10);T%ELSEPRINTTAB(17,10)"0";T% 320 IFN%>=10000ANDN%<100000PRINTTAB(17,15)"";N% 330 IFN%>=0ANDN%<10PRINTTAB(17,15)"0000";N% 340 IFN%>=10ANDN%<100PRINTTAB(17,15)"000";N% 350 IFN%>=100ANDN%<1000PRINTTAB(17,15)"00";N% 360 IFN%>=1000ANDN%<10000PRINTTAB(17,15)"0";N% 370 COLOUR1:COLOUR128:PRINTTAB(X,16)CHR$139 380 IFINKEY-122ANDX<21X=X+1:PRINTTAB(X-1,16)" " 390 IFINKEY-26ANDX>17X=X-1:PRINTTAB(X+1,16)" " 400 IFX=17ANDINKEY-42N%=N%-10000 410 IFX=17ANDINKEY-58 N%=N%+10000:IFN%>90000N%=N%-100000 420 IFX=18ANDINKEY-42N%=N%-1000 430 VDU28,9,11,35,9:COLOUR1:PRINTTAB(11,1)w$:VDU26 440 IFX=18ANDINKEY-58N%=N%+1000 450 IFX=19ANDINKEY-42N%=N%-100 460 IFX=19ANDINKEY-58N%=N%+100 470 IFX=20ANDINKEY-42N%=N%-10 480 IFX=20ANDINKEY-58N%=N%+10 490 IFX=21ANDINKEY-42N%=N%-1 500 IFX=21ANDINKEY-58N%=N%+1 510 UNTILINKEY-74ORTIME/100>=60 520 IFN%=no%PRINT"ACCESS GRANTED!" ELSEPRINT"ACCESS DENIED!":REM Hard Break 530 DATA12345:REM Access code 540 ENDPROC 550 : 560 DEFPROCdis(x,y,c,w$) 570 VDU5:GCOL0,c:MOVEx-20,y-50:MOVEx-20,y-5:PLOT85,x+(LENw$*32)-20,y-50:PLOT85,x+(LENw$*32)-20,y-5 580 VDU24,x-4;y-33;x+(LENw$*32);y+16;:CLG:VDU26:MOVEx,y:PRINTw$ 590 MOVEx-4,y-33:DRAWx-4,y+16:DRAWx+(LENw$*32),y+16:DRAWx+(LENw$*32),y-33:DRAWx-4,y-33:VDU4:ENDPROC