' Svjatoslav Agejenko svjatoslavagejenko@gmail.com year:2002 ' See or modify "passwd.dat" for password. ' Is useful when compiled into EXE, and put into AUTOEXEC.BAT DECLARE SUB check (a$) DECLARE SUB start () DECLARE SUB mkv (s%, C%) DECLARE SUB box (x1%, y1%, x2%, y2%) DIM SHARED cha DIM SHARED pwd$ start x = 25 x2 = 10 x3 = 0 B$ = "" 1 x = x + xs IF x > 0 THEN xs = xs - .5 IF x < 0 THEN xs = xs + .5 xs = xs - (xs / 8) IF x2 > 100 THEN x2 = 10 LINE (x2, 10)-(x2, 60), 0 PSET (x2, x + 35), 10 IF x2 < 99 THEN LINE (x2 + 1, 10)-(x2 + 1, 60), 3 x2 = x2 + 1 x3 = x3 + 1 IF x3 > 40 THEN x3 = 0: xs = xs - 5: SOUND 1000, 1 SOUND 0, .5 a$ = INKEY$ IF a$ = CHR$(13) THEN check B$ B$ = "" GOTO 2 END IF IF a$ <> "" THEN IF a$ = CHR$(8) THEN IF LEN(B$) > 0 THEN B$ = LEFT$(B$, LEN(B$) - 1): GOTO 2 GOTO 2 END IF B$ = B$ + a$ IF LEN(B$) > 10 THEN B$ = LEFT$(B$, 10) 2 FOR a = 1 TO 10 IF a <= LEN(B$) THEN C = 5 ELSE C = 1 CIRCLE (a * 15 + 20, 150), 6, C PAINT (a * 15 + 20, 150), C NEXT a END IF GOTO 1 DEFINT A-Z SUB box (x1, y1, x2, y2) LINE (x1 + 1, y1 + 1)-(x2 - 1, y2 - 1), 0, BF LINE (x1, y1)-(x2, y2), 10, B LINE (x1, y1)-(x2, y1 - 9), 14, BF LINE (x1, y1)-(x2, y1 - 9), 10, B LINE (x2 - 2, y1 - 2)-(x2 - 7, y1 - 7), 7, BF LINE (x2 - 9, y1 - 2)-(x2 - 14, y1 - 7), 7, BF LINE (x2 - 2, y1 - 2)-(x2 - 7, y1 - 7), 0 LINE (x2 - 2, y1 - 7)-(x2 - 7, y1 - 2), 0 LINE (x2 - 10, y1 - 3)-(x2 - 13, y1 - 3), 0 END SUB DEFSNG A-Z SUB check (a$) cha = cha - 1 IF a$ = pwd$ THEN CLS : SCREEN 2: SYSTEM DIM buf(1 TO 3000) GET (79, 80)-(241, 141), buf(1) box 80, 90, 240, 140 LOCATE 14, 14 COLOR 12 PRINT "Wrong passworD" COLOR 5 LOCATE 16, 13 PRINT STR$(cha) + " chanses left" FOR a = 1 TO 30 SOUND 0, 1 NEXT a IF cha = 0 THEN DIM buf2(1000) GET (79, 138)-(241, 140), buf2 FOR a = 1 TO 40 PUT (79, 138 + a), buf2, PSET SOUND 0, .5 NEXT a LOCATE 19, 14 COLOR 12 PRINT "SYSTEM HALTED" LOCATE 21, 14 PRINT "SUCESSFULLY!!" 3 GOTO 3 END IF PUT (79, 80), buf(1), PSET END SUB DEFINT A-Z SUB mkv (s, C) FOR x = 160 TO 319 STEP s LINE (x, 0)-(x, 199), C LINE (320 - x, 0)-(320 - x, 199), C NEXT x FOR y = 100 TO 199 STEP s LINE (0, y)-(319, y), C LINE (0, 200 - y)-(319, 200 - y), C NEXT y END SUB DEFSNG A-Z SUB start OPEN "passw.dat" FOR INPUT AS #1 LINE INPUT #1, pwd$ CLOSE #1 SCREEN 13 cha = 3 s = 2 FOR C = 16 TO 31 s = s * 1.4 mkv INT(s), INT(C) NEXT C mkv INT(s), 0 box 70, 20, 270, 90 COLOR 5 LOCATE 8, 10 PRINT " stack dump:" LOCATE 9, 10 PRINT "010010010010010010010100" LOCATE 10, 10 PRINT "Running rocket ground" LOCATE 11, 10 PRINT "control system..." box 9, 9, 101, 61 box 20, 130, 300, 190 LOCATE 18, 5 PRINT "ENTER PASSWORD:" END SUB