'=========================================================================== ' Subject: UFO SCREEN SAVER Date: 05-26-96 (14:47) ' Author: John Wantland Code: QB, QBasic, PDS ' Origin: kwantlan@coffey.com Packet: TEXT.ABC '=========================================================================== 1 k = 2 10 REM ufo 15 CLS 16 COLOR 15, 0 17 RANDOMIZE TIMER 18 n = INT(RND * 8 + 1) 20 a$ = "мммм" + CHR$(8) + CHR$(8) + CHR$(8) + CHR$(8) + CHR$(8) + CHR$(8) + "мммм" 30 x = 12: y = 31 31 r = INT(RND * 15 + 1) 32 c = INT(RND * 60 + 1) 33 u = INT(RND * 15 + 1) 34 v = INT(RND * 60 + 1) 35 w = INT(RND * 15 + 1) 36 e = INT(RND * 60 + 1) 40 COLOR 7, 0: LOCATE r, c: PRINT " лллллллллллл " 41 LOCATE r + 1, c: PRINT " лллллллллллллллл" 42 LOCATE u, v: PRINT " лллллллллллл " 43 LOCATE u + 1, v: PRINT " лллллллллллллллл" 44 LOCATE w, e: PRINT " лллллллллллл " 45 LOCATE w + 1, e: PRINT " лллллллллллллллл" FOR t = 1 TO 79 COLOR k, 0 LOCATE 23, t: PRINT "л"; NEXT t 49 LOCATE x, y 50 RANDOMIZE TIMER 55 COLOR 9, 0 60 PRINT a$ 70 IF y <= 1 OR y >= 64 OR x <= 1 OR x >= 23 THEN 100 80 IF y = 20 OR y = 40 OR y = 60 OR x = 12 THEN n = INT(RND * 8 + 1) 100 IF y <= 1 THEN n = 1 110 IF y >= 64 THEN n = 2 120 IF x <= 1 THEN n = 3 130 IF x >= 22 THEN n = 4 140 IF y <= 1 AND x <= 1 THEN n = 5 150 IF y <= 1 AND x >= 22 THEN n = 6 160 IF y >= 64 AND x <= 1 THEN n = 7 170 IF y >= 64 AND x >= 22 THEN n = 8 180 FOR t = 1 TO 1000: NEXT t 190 LOCATE x, y: PRINT " " 200 IF n = 1 THEN y = y + 1 210 IF n = 2 THEN y = y - 1 220 IF n = 3 THEN x = x + 1 230 IF n = 4 THEN x = x - 1 240 IF n = 5 THEN y = y + 1: x = x + 1 250 IF n = 6 THEN y = y + 1: x = x - 1 260 IF n = 7 THEN y = y - 1: x = x + 1 270 IF n = 8 THEN y = y - 1: x = x - 1 275 COLOR 0, 0 280 b$ = INKEY$: IF b$ <> "" THEN 300 285 c = c + 1: IF c >= 64 THEN CLS : c = 1: r = INT(RND * 15 + 1) 286 v = v + 1: IF v >= 64 THEN CLS : v = 1: u = INT(RND * 15 + 1) 287 e = e + 1: IF e >= 64 THEN CLS : e = 1: w = INT(RND * 15 + 1) 288 i = i + 1: IF i >= 100 THEN GOSUB 510: i = 0 290 GOTO 40 300 FOR t = 1 TO 1000: NEXT t 305 COLOR 8, 0 310 CLS 320 PRINT " лллллллллллллллллллллллллллл" 330 PRINT " лллллллллллллллллллллллллллллл" 340 PRINT " лллллл лллл лллллл" 350 PRINT " ллллллл лллл ллллллл" 360 PRINT " лллллллл лллл лллллллл" 370 PRINT " ллллллллл лллл ллллллллл" 380 PRINT " ллллллллл лллл ллллллллл" 390 PRINT " ллллллллл лллл ллллллллл" 400 PRINT " лллллллллллллллллллллллллллллллллллл" 410 PRINT " лллллллллллллллллллллллллллллллллл" 420 PRINT " лллллллллллллллллллллллллллллллл" 430 PRINT " лллллллллллллллллллллллллллллл" 440 PRINT " лллллллл лллллллл" 450 PRINT " лллллллллллллллллллллллллл" 460 PRINT " лллллллллллллллллллллллл" 470 PRINT " лллллллллллллллллллллл" 480 PRINT " лллллллллллллллллллл" 490 PRINT " лллллллллллллллллл" 495 COLOR 15, 0: PRINT " BELIEVE!" 500 END 510 s = 2100 519 FOR h = x TO 21 520 LOCATE h - 1, y: PRINT " " 530 LOCATE h, y: COLOR 9, 0: PRINT a$ b$ = INKEY$: IF b$ <> "" THEN 300 540 FOR t = 1 TO 1000: NEXT t s = s - 100: SOUND s, 1 545 x = x + 1 550 NEXT h 560 LOCATE 21, y: PRINT " " 570 FOR h = 7 TO 20 575 ON ERROR GOTO 1 580 LOCATE x, y + h: COLOR 8, 0: PRINT CHR$(1) 590 LOCATE x, y: COLOR 9, 0: PRINT a$ b$ = INKEY$: IF b$ <> "" THEN 300 600 FOR t = 1 TO 1000: NEXT t 605 LOCATE x, y + h: PRINT " " 610 NEXT h 620 LOCATE 21, y + 16: PRINT " " 630 FOR h = x TO 12 STEP -1 640 IF x <> 22 THEN LOCATE h + 1, y: PRINT " " 650 LOCATE h, y: PRINT a$ b$ = INKEY$: IF b$ <> "" THEN 300 660 FOR t = 1 TO 1000: NEXT t 670 x = x - 1 680 NEXT h 690 CLS 700 RETURN